测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发行上次发布 | 2017年5月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 clarence 维护。
一个用于 tableView 和 collectionView 的组件,它可以大大减少您的控制器代码,同时,您可以更容易地设置头部或尾部
swift3+ 和 xcode8+
pod "FLTableComponent"
class DemoViewController: FLTableComponentController {
}
class DemoComponent: FLTableBaseComponent {
override func cellForRow(at indexPath: IndexPath) -> UITableViewCell {
let cell : UITableViewCell = super.cellForRow(at: indexPath)
return cell
}
override func numberOfRows() -> NSInteger {
return 2
}
...
}
var arr : Array<FLTableBaseComponent> = []
let component = DemoComponent.init(tableView: self.tableView)
let NibComponent = NibDemoComponent.init(tableView: self.tableView)
arr.append(component)
arr.append(NibComponent)
self.components = arr
override var tableViewStyle: UITableViewStyle {
return UITableViewStyle.grouped
}
override func customRect() -> CGRect {
return self.view.bounds
}
override func register() {
// if you need default register, call super
//super.register()
// regist your custom cell、header or footer
}
override func headerView(at section: Int) -> FLTableViewHeaderFooterView? {
// you should call super to get headerView if you just regist the class of FLTableViewHeaderFooterView;
// if you override the method of register() to regist the subclass of FLTableViewHeaderFooterView, you can not call super to get headerView,
// and you should call init(reuseIdentifier: String?, section: Int) and addClickDelegete(for headerFooterView : FLTableViewHeaderFooterView?)
// if this headerView have to accurate tapping event
}
override func additionalOperationForReuseHeaderView(_ headerView: FLTableViewHeaderFooterView?) {
// do some additional operations, at usual, you add label or button or something else into header view to resue
// but if you had registed the class of FLTableViewHeaderFooterView for footerView, this method will be invalid.
//so if you want it to be valiable, do not call super when you override register() method
}
override func heightForHeader(at section: Int) -> CGFloat {
// return height for header
}
override func footerView(at section: Int) -> FLTableViewHeaderFooterView? {
// the same as header
}
override func additionalOperationForReuseFooterView(_ footerView: FLTableViewHeaderFooterView?) {
// the same as header
}
override func heightForFooter(at section: Int) -> CGFloat {
// return height for footer
}
override func headerView(of tableView: UITableView) -> UIView? {
// return tableHeaderView
}
override func footerView(of tableView: UITableView) -> UIView? {
// return tableFooterView
}
rickytan RTComponentTableView(Objective-C)
FLTableComponent 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。