庫命名為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有所幫助。