iOS - 自定义动画版下拉刷新 MJRefresh

A497C8CB-99BF-44A0-902B-3B19E54763E1.png

前言:有些BUG 待修复

一、导入第三方 MJRefresh (略)

二、自定义 DIY类文件 继承于 MJRefreshHeader

  1)MSUDIYHeader.h 中代码

        #import <MJRefresh/MJRefresh.h>

        @interface MSUDIYHeader : MJRefreshHeader
        @property (nonatomic , strong) UIImageView *freshImaView;
        
        @end

2) MSUDIYHeader.m 中代码

        #import "MSUDIYHeader.h"
        #import "MSUPathTools.h"
        
        @interface MSUDIYHeader ()
        
        
        @end
        
        @implementation MSUDIYHeader
        
        - (void)prepare{
            [super prepare];
            
            self.mj_h = 30;
        
            
            self.freshImaView = [[UIImageView alloc] init];
            _freshImaView.contentMode = UIViewContentModeScaleAspectFit;
            // MSUPathTools 属于自定义封装文件,显示图片的 ,测试可以用 imageNamed
            _freshImaView.image = [MSUPathTools showImageWithContentOfFileByName:@"WechatIMG957"];
            [self addSubview:_freshImaView];
            
        
        //    self.arrowView.image = [MSUPathTools showImageWithContentOfFileByName:@"WechatIMG957"];
            
            
            //根据拖拽的情况自动切换透明度
        //    self.automaticallyChangeAlpha = YES;
        
            
        }
        
        - (void)placeSubviews{
            [super placeSubviews];
            
            CGFloat wid = [UIScreen mainScreen].bounds.size.width;
            self.freshImaView.frame = CGRectMake(wid*0.5-15, 5, 30, 20);
        
        }
        
        #pragma mark 监听scrollView的contentOffset改变
        - (void)scrollViewContentOffsetDidChange:(NSDictionary *)change
        {
            [super scrollViewContentOffsetDidChange:change];
            
        }
        
        #pragma mark 监听scrollView的contentSize改变
        - (void)scrollViewContentSizeDidChange:(NSDictionary *)change
        {
            [super scrollViewContentSizeDidChange:change];
            
        }
        
        #pragma mark 监听scrollView的拖拽状态改变
        - (void)scrollViewPanStateDidChange:(NSDictionary *)change
        {
            [super scrollViewPanStateDidChange:change];
            
        }
        
        #pragma mark 监听控件的刷新状态
        - (void)setState:(MJRefreshState)state
        {
            MJRefreshCheckState;
            
            switch (state) {
                case MJRefreshStateIdle:
                {
                    self.freshImaView.transform = CGAffineTransformIdentity;
                }
                    break;
                case MJRefreshStatePulling:
                {
        
                }
                    break;
                case MJRefreshStateRefreshing:
                {
                    
        //            [UIView animateWithDuration:0.01 animations:^{
        //                self.freshImaView.transform = CGAffineTransformMakeRotation(6.38);
        //            }];
                    CABasicAnimation *anima = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
                    // 旋转速度 可以在此调整
                    anima.toValue = [NSNumber numberWithFloat:M_PI*12.0];
                    anima.duration = 8.5f;
                    anima.cumulative = YES;
                    anima.repeatCount = 1;
                    [_freshImaView.layer addAnimation:anima forKey:@"rotationAnimation"];
        
                }
                    break;
                case MJRefreshStateNoMoreData:
                {
                    self.freshImaView.transform = CGAffineTransformIdentity;
        
                }
                    break;
                default:
                    break;
            }
        }
        
        
        
        @end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 227,748评论 6 531
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 98,165评论 3 414
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 175,595评论 0 373
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 62,633评论 1 309
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 71,435评论 6 405
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 54,943评论 1 321
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,035评论 3 440
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,175评论 0 287
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 48,713评论 1 333
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 40,599评论 3 354
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 42,788评论 1 369
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,303评论 5 358
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,034评论 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,412评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 35,664评论 1 280
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 51,408评论 3 390
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 47,747评论 2 370

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,600评论 25 707
  • 第一百章 赵媛的做法就像是一个小孩子讨糖吃一般,如果可以得到张浩的注意,似乎就像是吃了糖一样甜蜜,但是如果张浩不理...
    chief风阅读 469评论 0 3
  • 入学已经一个多月了,孩子们到底学会了什么,练就了哪些好习惯,今天考验大家的时候到了 因为这节课准备充分,孩子们学得...
    我是张老师阅读 515评论 0 7
  • 嗯,虽然不了解后台,但是这个还是要自己生成(证书为windows下Apach+tomcat 使用)。 安装Open...
    Keike阅读 1,865评论 0 1
  • 1.不要浪费时间质疑自己,你质疑自己的时候你在原地踏步,而别人已经走了很远。 2.不要花时间去让别人喜欢你,因为喜...
    长亭微雨阅读 193评论 0 0