EasyRefresher
示例
要运行示例项目,请克隆仓库,然后首先从示例目录运行 pod install
要求
- iOS 10.0
- Swift 5.0
安装
易用刷新器可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中
pod 'EasyRefresher'
预览
使用方法
- 添加刷新器
tableView.refresh.header.addRefreshClosure {
self.reqeust {
self.tableView.refresh.header.endRefreshing()
}
}
tableView.refresh.footer = AutoRefreshFooter(triggerMode: .percent(0.5)) {
self.reqeust {
self.tableView.refresh.footer.endRefreshing()
}
}
tableView.refresh.header = RefreshHeader(delegate: self)
- 手动触发
tableView.refresh.header.beginRefreshing()
- 状态标题
tableView.refresh.header.setTitle("loading...", for: .refreshing)
tableView.refresh.footer.setAttributedTitle(
NSAttributedString(string: "已到最后一页", attributes: [.foregroundColor: UIColor.red]), for: .disabled
)
- 最后更新时间
tableView.refresh.header.lastUpdatedTimeText = { date in
guard let date = date else { return "暂无更新记录" }
return "上次刷新时间:\(date)"
}
- UIActivityIndicatorView 风格
tableView.refresh.header.activityIndicatorStyle = .white
- 不可用
// End refreshing and set state to disabled
tableView.refresh.footer.isEnabled = false
- 移除
tableView.refresh.footer.removeFromScrollView()
- 影响反馈
tableView.refresh.header.impactFeedbackMode = .on(style: .medium)
- 自定义状态视图
extension CustomStateView: RefreshStateful {
public func refresher(_ refresher: Refresher, didChangeState state: RefreshState) {
}
public func refresher(_ refresher: Refresher, didChangeOffset offset: CGFloat) {
}
}
tableView.refresh.footer = AppearanceRefreshFooter(stateView: CustomStateView()) {
self.reqeust {
self.tableView.refresh.footer.endRefreshing()
}
}
作者
Pircate, [email protected]
许可协议
EasyRefresher 可在 MIT 许可协议下使用。更多信息请参阅 LICENSE 文件。