TableauxUI
示例
要运行示例项目,请克隆存储库,然后从 Example 目录运行 pod install
。
要求
安装
TableauxUI 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'TableauxUI'
用法
只需向 Tableau 添加结构体即可构建 UITableView。
首先,创建一个单元格,并将适配器添加到您的模型中。
struct GreenModel {
let name: String = "Green"
}
extension GreenModel: TableauDataAdapter {
var identifier: String {
return GreenTableauCell.reuseIdentifier
}
}
class GreenTableauCell: TableauCell {
func configure(data: Any?) {
self.backgroundColor = .green
}
}
TableauDataAdapter 将一个唯一的标识符传递给您的 TableauxUIView 以便回收视图。在这里,我们通过在 UIView 上使用扩展来传递由 Tableau 生成的标识符
public protocol ReusableView {
static var reuseIdentifier: String { get }
}
extension UIView: ReusableView {}
接下来,创建一个GreenViewAdapter,并给它一个tableau来绘制你的视图。
enum Tableaux: Int, CaseIterable {
case GreenTableau
}
class GreenViewAdapter {
let tableau: Tableau(numberReservedTableaux: Tableaux.allCases.count)
}
extension GreenViewAdapter {
func buildGreenTableau(index: Tableau, reload: @escaping (() -> Void)) {
let paintAdapter = tableau.paintAdapter()
let tenGreenModels = Array.init(repeating: GreenModel(), count: 10)
paintAdapter.paint(sectionModel: tenGreenModels, at: index.rawValue)
reloadBlock()
}
}
连接到画图适配器以创建你的绘制。在这里,我们将10个Green模型附加到Tableau。
这样就是这样。最后,将你的tableauxUIView连接到GreenViewAdapter。
class GreenViewController: UIViewController {
let viewAdapter: GreenViewAdapter
let tableauxView: TableauxUIView
let dataSource: DataSource
init(viewAdapter: GreenViewAdapter) {
self.viewAdapter = viewAdapter
self.tableauxView = TableauxUIView(frame: .zero, style: .plain)
self.dataSource = DataSource(tableau: viewAdapter.tableau, tableauxUIView: tableauxView)
super.init(nibName: nil, bundle: nil)
self.tableauxView.registerCellTypes(types: [GreenTableauCell.self])
}
public override func viewDidLoad() {
super.viewDidLoad()
self.view = tableauxView
greenViewAdapter.buildGreenTableau {
DispatchQueue.main.async {
self.tableauxView.reloadData()
}
}
}
}
当然,您也可以自由地从UITableView和/或UITableViewCell中派生子类。
祝您享受!
作者
Ernest DeFoy,[email protected]
许可证
TableauUI遵循MIT许可证。有关更多信息,请参阅LICENSE文件。