ios基于MJRefresh实现上拉刷新和下拉加载动画效果
程序员文章站
2023-12-18 20:28:28
本文介绍了ios基于mjrefresh实现上拉刷新和下拉加载动画效果,分享给大家,具体如下:
目录
1、 头部刷新动画
2、尾部刷新动画
头部刷新动画...
本文介绍了ios基于mjrefresh实现上拉刷新和下拉加载动画效果,分享给大家,具体如下:
目录
1、 头部刷新动画
2、尾部刷新动画
头部刷新动画
#import <mjrefresh/mjrefresh.h> @interface hznormalheader : mjrefreshgifheader @end
#import "hznormalheader.h" @implementation hznormalheader #pragma mark - 重写父类的方法 - (void)prepare{ [super prepare]; // 设置普通状态的动画图片 nsmutablearray *idleimages = [nsmutablearray array]; for (nsuinteger i = 1; i<=60; i++) { uiimage *image = [uiimage imagenamed:[nsstring stringwithformat:@"dropdown_anim__000%zd", i]]; [idleimages addobject:image]; } [self setimages:idleimages forstate:mjrefreshstateidle]; // 设置即将刷新状态的动画图片(一松开就会刷新的状态) nsmutablearray *refreshingimages = [nsmutablearray array]; for (nsuinteger i = 1; i<=3; i++) { uiimage *image = [uiimage imagenamed:[nsstring stringwithformat:@"dropdown_loading_0%zd", i]]; [refreshingimages addobject:image]; } [self setimages:refreshingimages forstate:mjrefreshstatepulling]; // 设置正在刷新状态的动画图片 [self setimages:refreshingimages forstate:mjrefreshstaterefreshing]; //隐藏时间 self.lastupdatedtimelabel.hidden = no; //隐藏状态 self.statelabel.hidden = no; }
实现部分
self.tableview.mj_header = [hznormalheader headerwithrefreshingblock:^{ dispatch_after(dispatch_time(dispatch_time_now, (int64_t)(1 * nsec_per_sec)), dispatch_get_main_queue(), ^{ [self.tableview.mj_header endrefreshing]; }); }];
尾部刷新动画
#import <mjrefresh/mjrefresh.h> @interface xzznormalfooter : mjrefreshautogiffooter @end
#import "xzznormalfooter.h" @implementation xzznormalfooter #pragma mark - 重写父类的方法 - (void)prepare{ [super prepare]; // 设置普通状态的动画图片 nsmutablearray *idleimages = [nsmutablearray array]; for (nsuinteger i = 1; i<=60; i++) { uiimage *image = [uiimage imagenamed:[nsstring stringwithformat:@"dropdown_anim__000%zd", i]]; [idleimages addobject:image]; } [self setimages:idleimages forstate:mjrefreshstateidle]; // 设置即将刷新状态的动画图片(一松开就会刷新的状态) nsmutablearray *refreshingimages = [nsmutablearray array]; for (nsuinteger i = 1; i<=3; i++) { uiimage *image = [uiimage imagenamed:[nsstring stringwithformat:@"dropdown_loading_0%zd", i]]; [refreshingimages addobject:image]; } [self setimages:refreshingimages forstate:mjrefreshstatepulling]; // 设置正在刷新状态的动画图片 [self setimages:refreshingimages forstate:mjrefreshstaterefreshing]; //隐藏时间 // self.lastupdatedtimelabel.hidden = no; /*隐藏*/ self.refreshingtitlehidden = yes; //隐藏状态 self.statelabel.hidden = yes; } @end
实现部分
self.tableview.mj_footer = [xzznormalfooter footerwithrefreshingblock:^{ dispatch_after(dispatch_time(dispatch_time_now, (int64_t)(1 * nsec_per_sec)), dispatch_get_main_queue(), ^{ [self.tableview.mj_footer endrefreshing]; }); }];
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。