欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

IOS下拉刷新与上拉加载 - MJRefresh第三方

程序员文章站 2022-05-13 16:32:25
开源第三方地址:https://github.com/CoderMJLee/MJRefresh 默认上下拉 举例 // 分别调用方法。也可以用block.. MJRefr...

开源第三方地址:https://github.com/CoderMJLee/MJRefresh

默认上下拉 举例
// 分别调用方法。也可以用block..
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:selfrefreshingAction:@selector(headRefresh)];   

MJRefreshAutoNormalFooter *footer = [MJRefreshAutoNormalFooter
footerWithRefreshingTarget:selfrefreshingAction:@selector(footRefresh)];

self.tabeleView.mj_header= header;
self.tabeleView.mj_footer= footer;    

[self.tabeleView.mj_headerbeginRefreshing];

一种下拉与两种上拉

-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)BOOLautomaticallyChangeAlpha;

提示文字与时间
所有 header 都可以设置提示文字,下拉可以设置刷新时间
一般使用 3 个状态:MJRefreshStateIdle,MJRefreshStatePulling,MJRefreshStateRefreshing

// 提示文字提供 label 自定义,并有方法设置不同状态下的显示内容    
header.stateLabel.hidden = YES;        
[headersetTitle:@"再下拉一点就能刷新了"forState:MJRefreshStateIdle];    
[headersetTitle:@"放开即刷新"forState:MJRefreshStatePulling];    
[headersetTitle:@"Loading ..."forState:MJRefreshStateRefreshing];

// 更新时间提供 label 自定义,header.lastUpdatedTimeLabel.hidden = YES;
加载动画
所有 gif header 都可以设置图片数组。
一般使用 3 个状态:MJRefreshStateIdle,MJRefreshStatePulling,MJRefreshStateRefreshing

// 设置不同状态下的图片数组
[gifHeadersetImages:arr1forState:MJRefreshStateIdle];

// 一张就够了
[gifHeadersetImages:arr2forState:MJRefreshStatePulling];    [gifHeadersetImages:arr3forState:MJRefreshStateRefreshing];