AEAccordion 2.1.1

AEAccordion 2.1.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2018年9月
SPM支持 SPM

tadija 维护。



Swift 4.2 Platforms iOS CocoaPods Carthage Swift Package Manager License MIT

AEAccordion

具有折叠效果的 UITableViewController

在 UITableViewController 中实现折叠效果(展开/折叠单元格)的简单轻量级解决方案。按需显示详细内容。

AEAccordion

索引

特性

  • 轻松地在 UITableViewController 中创建折叠效果
  • 您可以按照需要动画化单元格的展开/折叠 (可选)
  • 单元展开时自动滚动,以确保单元格的整个内容可见 (可选)

用法

  • 继承 AccordionTableViewCell 并重写 setExpanded:animated:
import AEAccordion

final class ReadmeTableViewCell: AccordionTableViewCell {

    static let reuseIdentifier = "ReadmeTableViewCell"
    
    @IBOutlet weak var headerView: HeaderView!
    @IBOutlet weak var detailView: DetailView!
    
    // MARK: Override
    
    override func setExpanded(_ expanded: Bool, animated: Bool) {
        super.setExpanded(expanded, animated: animated)
        
        if animated {
            UIView.transition(with: detailView, duration: 0.3, animations: {
                self.detailView.isHidden = !expanded
            }, completion: nil)
        } else {
            detailView.isHidden = !expanded
        }
    }
    
}
  • 继承 AccordionTableViewController 并根据 expandedIndexPaths 配置单元格高度。
import AEAccordion

final class ReadmeTableViewController: AccordionTableViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        expandFirstCell()
    }
    
    func expandFirstCell() {
        let firstCellIndexPath = IndexPath(row: 0, section: 0)
        expandedIndexPaths.append(firstCellIndexPath)
    }
    
    // MARK: UITableViewDelegate
    
    override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return expandedIndexPaths.contains(indexPath) ? 200.0 : 50.0
    }
    
}

更多信息,请查看 资源示例

安装

许可证

本代码采用MIT许可证发布。有关详细信息,请参阅 LICENSE