UICollectionView的使用

2018-09-11  本文已影响11人  FallPine

UICollectionView和UITableView的方法大部分类似,就不重复了,区别主要是组头组尾

//分区头部、尾部将要显示出来的事件响应
collectionView.rx.willDisplaySupplementaryView.subscribe(onNext: { view, kind, indexPath in
    print("将要显示分区indexPath为:\(indexPath)")
    print("将要显示的是头部还是尾部:\(kind)")
    print("将要显示头部或尾部视图:\(view)\n")
}).disposed(by: disposeBag)
//创建数据源
let dataSource = RxCollectionViewSectionedReloadDataSource
    <SectionModel<String, String>>(
    configureCell: { (dataSource, collectionView, indexPath, element) in
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell",
                                                for: indexPath) as! MyCollectionViewCell
        cell.label.text = "\(element)"
        return cell},
    configureSupplementaryView: {
        (ds ,cv, kind, ip) in
            let section = cv.dequeueReusableSupplementaryView(ofKind: kind,
                            withReuseIdentifier: "Section", for: ip) as! MySectionHeader
            section.label.text = "\(ds[ip.section].model)"
        return section
    })

collectionView 单元格尺寸、间距,或者修改 section 头尾视图尺寸等等,RxSwift 没有封装相应的方法,我们通过代理方法来设置

//设置代理
collectionView.rx.setDelegate(self)
            .disposed(by: disposeBag)

参考文章:Swift - RxSwift的使用详解37(UICollectionView的使用1:基本用法)
Swift - RxSwift的使用详解38(UICollectionView的使用2:RxDataSources)
Swift - RxSwift的使用详解39(UICollectionView的使用3:刷新集合数据)
Swift - RxSwift的使用详解40(UICollectionView的使用4:样式修改)

上一篇下一篇

猜你喜欢

热点阅读