测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可协议 | MIT |
发布日期最后发布 | 2017年3月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由Morita Naoki维护。
SwiftRefresher解决了在UIViewController中UITableView上的UIRefreshControl存在的问题!SwiftRefresher是UIRefreshControl的一种替代方案。此外,它非常易于自定义!
添加以下代码并将它添加到UITableView中,通过srf_addRefresher
。当刷新开始时将调用闭包。
let refresher = RefresherView { [weak self] () -> Void in
self?.updateItems()
}
tableView.srf_addRefresher(refresher)
每当/任何地方您的刷新任务完成时,调用srf_endRefreshing()
。
s.tableView.srf_endRefreshing()
SwiftRefresher的视图与主要系统独立。唯一的要求是符合SwfitRefresherEventReceivable
协议。默认视图是SimpleRefreshView
。您可以通过以下方式进行一些简单的自定义
let refresher = Refresher { [weak self] () -> Void in
self?.updateItems()
}
refresher.createCustomRefreshView { () -> SwfitRefresherEventReceivable in
return SimpleRefreshView(activityIndicatorViewStyle: .White)
}
tableView.srf_addRefresher(refresher)
在这个例子中,我更改了SimpleRefreshView的活动指示器样式为White。但您可以通过创建自己的刷新视图进行更多自定义!
只需创建一个符合SwfitRefresherEventReceivable
的视图。SwfitRefresherEventReceivable
有一个必须实现的功能func didReceiveEvent(event: SwiftRefresherEvent)
。通过这个函数,刷新器向视图发送事件。以下是一些事件
public enum SwiftRefresherEvent {
case Pull(offset: CGPoint, threshold: CGFloat)
case StartRefreshing
case EndRefreshing
case RecoveredToInitialState
}
例如,预设SimpleRefreshView有这个简单的代码。
public func didReceiveEvent(event: SwiftRefresherEvent) {
switch event {
case .Pull:
pullingImageView.hidden = false
case .StartRefreshing:
pullingImageView.hidden = true
activityIndicatorView.startAnimating()
case .EndRefreshing:
activityIndicatorView.stopAnimating()
case .RecoveredToInitialState:
break
}
}
RecoveredToInitialState
表示结束后,视图将返回到初始状态。在这个状态下,此事件将被调用。
要无依赖管理器安装SwiftRefresher,请将/SwiftRefresher
中的所有文件添加到您的Xcode项目中。
请提交问题或提交拉取请求,以便看到您想看到的内容!我们在等待!:)
SwiftRefresher根据MIT许可证发布。阅读LICENSE文件以获取更多信息。