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

iOS利用MJRefresh实现自定义刷新动画效果

程序员文章站 2024-02-16 19:51:16
本文主要介绍ios 利用mjrefresh实现自定义动画的上拉刷新下拉加载效果,一般的类型(包括更新时间与loading图案)这里不做介绍. 要想实现此功能,首先得有一套...

本文主要介绍ios 利用mjrefresh实现自定义动画的上拉刷新下拉加载效果,一般的类型(包括更新时间与loading图案)这里不做介绍.

要想实现此功能,首先得有一套load的图片数组.

接下来就是实现过程:

引入头文件:

#import "mjrefresh.h"
//自定义一个方法实现
- (void)preparerefresh
{
 nsmutablearray *headerimages = [nsmutablearray array];
 for (int i = 1; i <= 4; i++) {
  uiimage *image = [uiimage imagenamed:[nsstringstringwithformat:@"topload%d",i]];
  [headerimages addobject:image];
 }
 mjrefreshgifheader *gifheader = [mjrefreshgifheaderheaderwithrefreshingblock:^{
//下拉刷新要做的操作.
 }];
 gifheader.statelabel.hidden = yes;
 gifheader.lastupdatedtimelabel.hidden = yes;
 [gifheader setimages:@[headerimages[0]]forstate:mjrefreshstateidle];
 [gifheader setimages:headerimages forstate:mjrefreshstaterefreshing];
 _tableview.header = gifheader;
 nsmutablearray *footerimages = [nsmutablearray array];
 for (int i = 1; i <= 4; i++) {
  uiimage *image = [uiimage imagenamed:[nsstringstringwithformat:@"footerload%d",i]];
  [footerimages addobject:image];
 }
 mjrefreshautogiffooter *giffooter = [mjrefreshautogiffooterfooterwithrefreshingblock:^{
//上拉加载需要做的操作.
 }];
 giffooter.statelabel.hidden = yes;
 giffooter.refreshingtitlehidden = yes;
 [giffooter setimages:@[footerimages[0]]forstate:mjrefreshstateidle];
 [giffooter setimages:footerimages forstate:mjrefreshstaterefreshing];
 _tableview.footer = giffooter;
}

最后记得在数据加载完成时停掉loading

  [_tableview.header endrefreshing];//下拉刷新数据完成时写上
  [_tableview.footer endrefreshing];//上拉加载数据完成时写上

以上所述是小编给大家介绍的ios利用mjrefresh实现自定义刷新动画效果,希望对大家有所帮助