一、简介
YYTableViewManager 基于数据驱动页面的理念,接管了UITableView
的delegate
和dataSource
的逻辑,开发者只需要关心数据的处理,避免了冗长的判断,让代码更加易于维护。
二、页面介绍
- YYTableViewManager:列表管理者
- YYTableViewSection:列表 section,section 管理者
- YYTableViewItem:列表 item,cell 管理者
- YYBaseTableView:封装列表
三、使用技巧
1. YYTableViewManager去管理列表的 delegate 和 dataSource,开发者不需要关心
2. cell 可使用XIB或者纯代码创建,都支持
3. 集成了一些列表常用的功能,可直接调用
4. YYBaseTableView集成了刷新,可直接使用
5. 使用注意
自定义的cell需要注册
创建的 YYTableViewSection 需要提前调用 add(section: #) 添加section ,要不然后续操作可能获取不到section
四、使用示例
let tableView = YYBaseTableView(frame: CGRect(x: 0, y: gTitleBarHeight, width: KScreenW, height: KScreenH - gTitleBarHeight - gSafeAreaInsets.bottom), style: .plain)
self.view.addSubview(tableView)
/// 当有多个 section 时,最后一个属性设置为FALSE
tableViewManager = YYTableViewManager(tableView: tableView, false)
tableViewManager.register(YYXIBTableViewCell.self)
let oneHeaderV = UIView()
oneHeaderV.backgroundColor = .gray
let oneFooterV = UIView()
oneFooterV.backgroundColor = .gray
let oneSection = YYTableViewSection(headerView: oneHeaderV, footerView: oneFooterV)
oneSection.headerHeight = 50
oneSection.footerHeight = 20
tableViewManager.add(section: oneSection)
for index in 0...5 {
let item = YYTableViewItem("YYXIBTableViewCell")
item.setCellWillDisplayHandler { callBackItem in
}
/// 添加左滑,删除 cell
item.setLeftSwipeActionsHandler(["删除"]) { callBackItem, actionIndex in
oneSection.delete([callBackItem], complection: nil)
}
oneSection.add(item: item)
tableViewManager.reload()
}
更多使用技巧下载Demo去体验
网友评论