几种常用UIView的简单动画(不涉及CA)

简单的UIView的Block动画

首先来说一下这个UIView的Block动画,这个动画用着方便,还可以设置很多属性,基本上我用的是最多的了.主要是好用.这个也是分几个不同的方法,根据自己需求选择方法.

1.UIView animateWithDuration:<#(NSTimeInterval)#> animations:<#^(void)animations#>

第一个方法,第一个参数是你这个动画要播多久,我一般是0.25,不知道为什么就是想写0.25,第二个参数是一个Block,看见Block啥也不想,先回车再说.这里面要写你想干的事.我前面写的隐藏TabBar和NavigationBar我自己写的动画就是这个,不过缺点那里面也说了,有需要的可以看一下.

2.UIView animateWithDuration:<#(NSTimeInterval)#> animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#>

第二个方法,这个比第一个多了一个Block,看名字也知道,完成以后要干啥,打个比方,我放了一个动画,然后我想在动画结束以后,弹一个控制器出来,那这个完全满足您的需要.前两个参数是一样的,动画时长和要做的事情.后面是动画完成以后要做的事情.

3.UIView animateWithDuration:<#(NSTimeInterval)#> delay:<#(NSTimeInterval)#> options:<#(UIViewAnimationOptions)#> animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#>

第三种方法,这个方法参数就稍微有点多了,但是前两个用过以后,你会发现,第三个就是比第二个多了几个参数而已,参数嘛,给就是了.Duration:时长 delay:多久以后才开始 option:你放动画的时候要干嘛或者想怎样 animations:要干的事情 completion:完成以后你想干嘛

这个delay没啥要说的吧,就是我放了一个动画,但是我不想立马就播放,你给我等2s出来,就用这个,option,这个更简单,我放动画的时候吧,我还想用户点一下动画就没了,我得响应用户交互吧,那你就进去选UIViewAnimationOptionAllowUserInteraction这个,还有就是,我放动画了,改变了一下布局,那你就得重新布局子控件了对吧,选UIViewAnimationOptionLayoutSubviews这个,布局子控件嘛.

4.UIView animateWithDuration:<#(NSTimeInterval)#> delay:<#(NSTimeInterval)#> usingSpringWithDamping:<#(CGFloat)#> initialSpringVelocity:<#(CGFloat)#> options:<#(UIViewAnimationOptions)#> animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#>

这个第四种方法就比较牛逼了,前两个参数我就不说了吧,一样的,咱从这个Damping开始说,感觉这个方法好长啊,而且老子英语不好怎么破,完全不知道这啥玩意,OK,我建议记住一个单词,就是前面的spring,春天,春天来了,你得发春,所以得动,那么这个参数就是动的意思,(Spring这里是弹簧的意思,Damping,阻尼,我的写上,这个参数的真实意思是弹簧的阻尼设置)没记错的话范围是0-1,你越接近1你的骚动越厉害...反之越差,在看Velocity,这个总认识吧,v不就是速度吗,这里是指速率,看你骚动的速度,没记错的话也是0-1,(弹簧的速率设置)和上面一样0---->1后面这几个参数我就不说了 一样的.

总结一下,UIView的Block动画还是蛮好用的,能帮助大家实现动画效果,根据需求的不同,选择自己需要的动画.

UIView的首尾式动画

这个UIView的动画,我是用的不多,因为一个字,费劲...我真没发现有啥用,不过万一别人有用呢,对吧,我也写这里.

第一步:开启动画

两个参数,第一个是NSString的,明显是你给动画一个名字,是想在找这个动画的时候方便,我不用,所以我一直写nil,第二个上下文,没啥用,也nil或者你写null都行.

[UIView beginAnimations:nil context:nil];

是不是略熟悉的感觉,动画的时长,就想写0.25,不知道为什么.

[UIView setAnimationDuration:0.25];

又是熟悉的感觉,多久以后才放动画1s

[UIView setAnimationDelay:1];

大爷,要重复吗?来3次.

[UIView setAnimationRepeatCount:3];

中间写需要动画的代码

改变一个控件的位置,从0,0 我移动到100,100

提交动画

[UIView commitAnimations];

总结一下,这个动画我用的真是不多,因为,我用这个实现的都可以用Block动画来实现.所以,我感觉还是Block更方便一些.

序列帧动画

悠然记得上初中的时候,上微机课,半个学期,做了一个火柴人的动画.一帧一帧的动画.是我第一次用电脑做出来的东西.

先讲解一下序列帧动画,咱们要实现序列帧动画得拿到一张张的图片,你从服务器也好,放assets里面也好,其实就是看到的gif,只不过现在咱们需要把一张张的图片连贯起来,实现gif效果

用的概率嘛,我感觉应该是一般,不多吧.

首先第一步,如果你是本地的,那么就得加载本地数据.如果你是网络的 你得网络获取数据,不管怎么说,你获取到的数据肯定是一堆图片.把这些图片存在数组里.

第二步,UIIimage里面有个方法,自己可以把一系列图片变成一张动态图.

第一个参数就是你存图片的数组,第二个参数是你执行的时间

UIImage animatedImageWithImages:<#(nonnull NSArray*)#> duration:<#(NSTimeInterval)#>

返回值是一个UIImage,接一下.然后你就能实现GIF了


本文不针对任何学术性研究,单纯为了娱乐.看不惯我就直说,反正我不改.

宝剑锋从磨砺出,梅花香自苦寒来.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • 在iOS实际开发中常用的动画无非是以下四种:UIView动画,核心动画,帧动画,自定义转场动画。 1.UIView...
    请叫我周小帅阅读 3,074评论 1 23
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,091评论 5 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,457评论 6 30
  • 2UIView动画 2.1概述 UIView视图的动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅的动画效果...
    Kevin_Junbaozi阅读 1,623评论 0 0
  • 一、初始化方法 1、- initWithFrame: UIView *view = [[UIView alloc]...
    默默_David阅读 2,476评论 1 3