ios基于MJRefresh实现上拉刷新和下拉加载动画效果
本文介绍了ios基于MJRefresh实现上拉刷新和下拉加载动画效果,分享给大家,具体如下:
目录
1、头部刷新动画
2、尾部刷新动画
头部刷新动画
#import@interfaceHZNormalHeader:MJRefreshGifHeader @end
#import"HZNormalHeader.h" @implementationHZNormalHeader #pragmamark-重写父类的方法 -(void)prepare{ [superprepare]; //设置普通状态的动画图片 NSMutableArray*idleImages=[NSMutableArrayarray]; for(NSUIntegeri=1;i<=60;i++){ UIImage*image=[UIImageimageNamed:[NSStringstringWithFormat:@"dropdown_anim__000%zd",i]]; [idleImagesaddObject:image]; } [selfsetImages:idleImagesforState:MJRefreshStateIdle]; //设置即将刷新状态的动画图片(一松开就会刷新的状态) NSMutableArray*refreshingImages=[NSMutableArrayarray]; for(NSUIntegeri=1;i<=3;i++){ UIImage*image=[UIImageimageNamed:[NSStringstringWithFormat:@"dropdown_loading_0%zd",i]]; [refreshingImagesaddObject:image]; } [selfsetImages:refreshingImagesforState:MJRefreshStatePulling]; //设置正在刷新状态的动画图片 [selfsetImages:refreshingImagesforState:MJRefreshStateRefreshing]; //隐藏时间 self.lastUpdatedTimeLabel.hidden=NO; //隐藏状态 self.stateLabel.hidden=NO; }
实现部分
self.tableView.mj_header=[HZNormalHeaderheaderWithRefreshingBlock:^{ dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(1*NSEC_PER_SEC)),dispatch_get_main_queue(),^{ [self.tableView.mj_headerendRefreshing]; }); }];
尾部刷新动画
#import@interfaceXZZNormalFooter:MJRefreshAutoGifFooter @end
#import"XZZNormalFooter.h" @implementationXZZNormalFooter #pragmamark-重写父类的方法 -(void)prepare{ [superprepare]; //设置普通状态的动画图片 NSMutableArray*idleImages=[NSMutableArrayarray]; for(NSUIntegeri=1;i<=60;i++){ UIImage*image=[UIImageimageNamed:[NSStringstringWithFormat:@"dropdown_anim__000%zd",i]]; [idleImagesaddObject:image]; } [selfsetImages:idleImagesforState:MJRefreshStateIdle]; //设置即将刷新状态的动画图片(一松开就会刷新的状态) NSMutableArray*refreshingImages=[NSMutableArrayarray]; for(NSUIntegeri=1;i<=3;i++){ UIImage*image=[UIImageimageNamed:[NSStringstringWithFormat:@"dropdown_loading_0%zd",i]]; [refreshingImagesaddObject:image]; } [selfsetImages:refreshingImagesforState:MJRefreshStatePulling]; //设置正在刷新状态的动画图片 [selfsetImages:refreshingImagesforState:MJRefreshStateRefreshing]; //隐藏时间 //self.lastUpdatedTimeLabel.hidden=NO; /*隐藏*/ self.refreshingTitleHidden=YES; //隐藏状态 self.stateLabel.hidden=YES; } @end
实现部分
self.tableView.mj_footer=[XZZNormalFooterfooterWithRefreshingBlock:^{ dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(1*NSEC_PER_SEC)),dispatch_get_main_queue(),^{ [self.tableView.mj_footerendRefreshing]; }); }];
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。