Welcome

首页 / 移动开发 / IOS / iOS功能实现之列表的横向刷新加载

库命名为PSRefresh,支持UIScrollView及所有UIScrollView的子类控件,UITableView(横向的tableVIew)及UICollectionView等皆可。

支持自定义文字,支持自定义gif图,可设置是否为最后一页。

本文一共提供了三种样式,分别是普通样式gif加载样式(带有状态label)、git加载样式(不带有状态label)。
Demo展示如下:



使用时导入 "UIScrollView+PSRefresh.h" 文件即可,文件中提供的属性及接口如下:

@interface UIScrollView (PSRefresh)/** * 是否是最后一页 */@property (nonatomic, assign) BOOL isLastPage;/** * header背景色 */@property (nonatomic, strong) UIColor *refreshHeaderBackgroundColor;/** * footer背景色 */@property (nonatomic, strong) UIColor *refreshFooterBackgroundColor;/** * header 字体 */@property (nonatomic, strong) UIFont *refreshHeaderFont;/** * header 字体颜色 */@property (nonatomic, strong) UIColor *refreshHeaderTextColor;/** * footer 字体 */@property (nonatomic, strong) UIFont *refreshFooterFont;/** * footer 字体颜色 */@property (nonatomic, strong) UIColor *refreshFooterTextColor;/** * ********************** 以下是调用的方法 ********************** *//** * 普通的刷新及加载 */- (void)addRefreshHeaderWithClosure:(PSRefreshClosure)closure;- (void)addRefreshFooterWithClosure:(PSRefreshClosure)closure;/** * gif 图刷新及加载(带有状态提示) */- (void)addGifRefreshHeaderWithClosure:(PSRefreshClosure)closure;- (void)addGifRefreshFooterWithClosure:(PSRefreshClosure)closure;/** * gif 图刷新及加载(不带有状态提示) */- (void)addGifRefreshHeaderNoStatusWithClosure:(PSRefreshClosure)closure;- (void)addGifRefreshFooterNoStatusWithClosure:(PSRefreshClosure)closure;/** * ****************** 以下三个方法是对上面方法的再次封装 ****************** *//** * 普通的刷新及加载 */- (void)addRefreshHeaderWithClosure:(PSRefreshClosure)headerClosureaddRefreshFooterWithClosure:(PSRefreshClosure)footerClosure;/** * gif 图刷新及加载(带有状态提示) */- (void)addGifRefreshHeaderWithClosure:(PSRefreshClosure)headerClosureaddGifRefreshFooterWithClosure:(PSRefreshClosure)footerClosure;/** * gif 图刷新及加载(不带有状态提示) */- (void)addGifRefreshHeaderNoStatusWithClosure:(PSRefreshClosure)headerClosureaddGifRefreshFooterNoStatusWithClosure:(PSRefreshClosure)footerClosure;/** * 结束刷新 */- (void)endRefreshing;@end
调用时可以有两种方法,可以同时添加头部控件和尾部控件,也可以分别进行添加,方法如下(这里只列举一种调用方法,只是为了展示两种不同的调用方式):
(1) 同时添加:
- (void)normalDemo { WeakSelf(self) [_collectionView addRefreshHeaderWithClosure:^{// 刷新操作[weakSelf refreshData]; } addRefreshFooterWithClosure:^{// 加载操作[weakSelf loadingData]; }];}
(2) 分别添加:
- (void)normalDemo { WeakSelf(self) [_collectionView addRefreshHeaderWithClosure:^{// 刷新操作[weakSelf refreshData]; }]; [_collectionView addRefreshFooterWithClosure:^{// 加载操作[weakSelf loadingData]; }];}
总结

调用方式大致和MJRefresh相同,针对具体项目大家可以进行相应的调整。以上就是本文的全部内容,希望对大家开发IOS有所帮助。