基于MJ的仿gif刷新动画

每次看到比较好看的刷新动画都感觉好厉害,今天有时间看了一下MJ的gif的动画刷新,原来很简单.

  • 1 首先下载一个MJRefresh的三方库,使用CocoaPods导入也可以,直接拖入工程也是可以的.[链接地址]: https://github.com/CoderMJLee/MJRefresh

  • 2 然后new一个新的文件,继承于MJRefreshGifHeader

屏幕快照 2015-11-04 下午12.07.44.png
  • 3 然后在这个新建的文件里,重写prepare这个方法,将MJ原始的gif的图片改成自己的图片数组即可.
// 设置普通状态的动画图片
    NSMutableArray *idleImages = [NSMutableArray array];
    for (NSUInteger i = 0; i <= 50; i++) {
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"stars-%d.png", i]];
        [idleImages addObject:image];
    }
    [self setImages:idleImages forState:MJRefreshStateIdle];
    
    // 设置即将刷新状态的动画图片(一松开就会刷新的状态)
    NSMutableArray *refreshingImages = [NSMutableArray array];
    for (NSUInteger i = 50; i<= 84; i++) {
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"stars-%d.png", i]];
        [refreshingImages addObject:image];
    }
    [self setImages:refreshingImages forState:MJRefreshStatePulling];
    
    // 设置正在刷新状态的动画图片
    [self setImages:refreshingImages forState:MJRefreshStateRefreshing];
  • 4 调用的时候,将MJ里面的显示时间和状态的label隐藏即可实现效果.
 GTRefreshGifHeader *header = [GTRefreshGifHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];
    // 隐藏时间
    header.lastUpdatedTimeLabel.hidden = YES;
    // 隐藏状态
    header.stateLabel.hidden = YES;
    self.tableView.header = header;
    // 马上进入刷新状态
    [self.tableView.header beginRefreshing];

效果如下

Simulator Screen Shot 2015年11月4日 下午12.25.27.png

github链接: https://github.com/WWLJ/GIFRefresh.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.oc基本语法 // // main.m // oc基本语法 // // Created by lanou on...
    GOT_HODOR阅读 3,349评论 0 0
  • 在开发中时常需要加刷新动画,在一个项目中不同页面进行加载,此时相同的加载动画会在不同页面出现。 1.自定义一个继承...
    莫离_焱阅读 5,879评论 0 0
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,723评论 6 30
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,543评论 5 13
  • MJRefresh是李明杰老师的作品,到现在已经有9800多颗star了,是一个简单实用,功能强大的iOS下拉刷新...
    Style_mao阅读 3,899评论 1 2

友情链接更多精彩内容