iOS上下拉刷新 - MJRefresh
開源第三方地址:https://github.com/CoderMJLee/MJRefresh
默認上下拉 舉例
// 分別 調用方法。也可以用block..
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headRefresh)];
MJRefreshAutoNormalFooter *footer = [MJRefreshAutoNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footRefresh)];
self.tabeleView.mj_header = header;
self.tabeleView.mj_footer = footer;
[self.tabeleView.mj_header beginRefreshing];
一種下拉 與 兩種 上拉
- 1.1 一般菊花下拉 MJRefreshNormalHeader
- 1.2 添加動畫下拉 MJRefreshGifHeader
- 2.1 點擊或自動加載 菊花上拉 MJRefreshAutoNormalFooter
- 2.2 點擊或自動加載 動畫上拉 MJRefreshAutoGifFooter
- 3.1 反向菊花上拉 MJRefreshBackNormalFooter
- 3.2 反向動畫上拉 MJRefreshBackGifFooter
基礎屬性 與 方法
/** 進入刷新狀態 */
- (void)beginRefreshing;
/** 結束刷新狀態 */
- (void)endRefreshing;
/** 是否正在刷新 */
- (BOOL)isRefreshing;
/** 根據拖拽比例自動切換透明度 */
@property (assign, nonatomic, getter=isAutomaticallyChangeAlpha) BOOL automaticallyChangeAlpha;
提示文字 與 時間
所有 header 都可以設置提示文字,下拉可以設置刷新時間
一般 使用3 個狀態:MJRefreshStateIdle,MJRefreshStatePulling,MJRefreshStateRefreshing
// 提示文字 提供label 自定義,並有方法設置不同狀態下的顯示內容
header.stateLabel.hidden = YES;
[header setTitle:@"再下拉一點就能刷新了" forState:MJRefreshStateIdle];
[header setTitle:@"放開即刷新" forState:MJRefreshStatePulling];
[header setTitle:@"Loading ..." forState:MJRefreshStateRefreshing];
// 更新時間 提供label 自定義
header.lastUpdatedTimeLabel.hidden = YES;
加載 動畫
所有 gif header 都可以設置圖片數組。
一般 使用3 個狀態:MJRefreshStateIdle,MJRefreshStatePulling,MJRefreshStateRefreshing
// 設置 不同狀態下的圖片數組
[gifHeader setImages:arr1 forState:MJRefreshStateIdle];// 一張就夠了
[gifHeader setImages:arr2 forState:MJRefreshStatePulling];
[gifHeader setImages:arr3 forState:MJRefreshStateRefreshing];
其他
完全 自定義 看demo DIY,
iOS上下拉刷新 - MJRefresh