Skip to content

Refreshable

林洵锋 edited this page Sep 15, 2018 · 5 revisions

1、遵守协议 Refreshable

class LXFRefreshableController: UIViewController, View, Refreshable {}

2、配置与绑定

// 自定义配置
/* 
initRefresh<T: RefreshControllable>(
	_ vm: T, 
	_ scrollView: UIScrollView, 
	headerConfig: RefreshableHeaderConfig? = nil, 
	footerConfig: RefreshableFooterConfig? = nil, 
	headerAction: (() -> Void)? = nil, footerAction: (() -> Void)? = nil
)
*/

// 注:vm 需要传入一个遵守了 RefreshControllable 协议的对象

lxf.initRefresh(reactor, tableView, headerConfig: RefreshConfig.normalHeader, headerAction: { 
    reactor.action.onNext(.fetchList(true))
}) {
    reactor.action.onNext(.fetchList(false))
}.disposed(by: disposeBag)

3、viewModel 遵守协议

final class LXFRefreshableReactor: Reactor, RefreshControllable {}

遵守协议 RefreshControllable 后便拥有 refreshStatus 属性,可以用来控制刷新控件的状态

self.lxf.refreshStatus.value = .noMoreData
self.lxf.refreshStatus.value = .resetNoMoreData

lxf_Refreshable

Clone this wiki locally