標籤:https 自訂 last pos ges 時間 code demo diy
開源第三方地址: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