Skip to content

EmptyDataSetable

林洵锋 edited this page Nov 21, 2018 · 3 revisions

文章

iOS 面向协议方式封装空白页功能

linxunfeng juejin jianshu

使用

1、UIViewControllor或UIView遵守协议 EmptyDataSetable

extension LXFEmptyDemoController: EmptyDataSetable {
}

2、调用方法 updateEmptyDataSet

// 定制方式
// config 不传值时使用默认配置
self.lxf.updateEmptyDataSet(tableView, config: EmptyConfig.noData)

lxf_EmptyDataSet

3、 更新定制

// 更新空白页数据
var config = EmptyConfig.normal
config.tipStr = tipStrArr[randomInt]
config.tipImage = UIImage(named: "tipImg\(randomInt)")

self.lxf.updateEmptyDataSet(tableView, config: config)

lxf_EmptyDataSet_update

4、 监听

// normal
self.lxf.tapEmptyView(tableView) { view in
    print("点击了空白视图")
}

// rx
self.rx.tapEmptyView(tableView)
    .subscribe(onNext: { _ in
        print("点击了空白视图")
    }).disposed(by: disposeBag)

可监听事件:

// MARK: 点击回调
tapEmptyView
tapEmptyButton

// MARK: 生命周期回调
emptyViewWillAppear
emptyViewDidAppear
emptyViewWillDisappear
emptyViewDidDisappear