iOS功能实现之列表的横向刷新加载

时间:2021-05-20

库命名为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)headerClosure addRefreshFooterWithClosure:(PSRefreshClosure)footerClosure;/** * gif 图刷新及加载(带有状态提示) */- (void)addGifRefreshHeaderWithClosure:(PSRefreshClosure)headerClosure addGifRefreshFooterWithClosure:(PSRefreshClosure)footerClosure;/** * gif 图刷新及加载(不带有状态提示) */- (void)addGifRefreshHeaderNoStatusWithClosure:(PSRefreshClosure)headerClosure addGifRefreshFooterNoStatusWithClosure:(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有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章