YYTableViewManager 列表管理

2023-08-03  本文已影响0人  Daniel_you

一、简介

YYTableViewManager 基于数据驱动页面的理念,接管了UITableViewdelegatedataSource的逻辑,开发者只需要关心数据的处理,避免了冗长的判断,让代码更加易于维护。

二、页面介绍

  1. YYTableViewManager:列表管理者
  2. YYTableViewSection:列表 section,section 管理者
  3. YYTableViewItem:列表 item,cell 管理者
  4. 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去体验

github地址:https://github.com/SwimBoys/YYTableViewManager

上一篇 下一篇

猜你喜欢

热点阅读