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