AEAccordion
具有折叠效果的 UITableViewController
在 UITableViewController 中实现折叠效果(展开/折叠单元格)的简单轻量级解决方案。按需显示详细内容。
索引
特性
- 轻松地在 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
}
}
安装
-
.Package(url: "https://github.com/tadija/AEAccordion.git", majorVersion: 2)
-
github "tadija/AEAccordion"
-
pod 'AEAccordion'
许可证
本代码采用MIT许可证发布。有关详细信息,请参阅 LICENSE。