1. 程式人生 > >iOS上下拉刷新 - MJRefresh

iOS上下拉刷新 - MJRefresh

所有 with self hid loading 添加 不同 self. ges

開源第三方地址: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