美文网首页
YYTableViewManager 列表管理

YYTableViewManager 列表管理

作者: Daniel_you | 来源:发表于2023-08-03 14:48 被阅读0次

    一、简介

    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

    相关文章

      网友评论

          本文标题:YYTableViewManager 列表管理

          本文链接:https://www.haomeiwen.com/subject/ujumpdtx.html