iOS 动画系列---视图(UIView)动画---animate....

开篇扯淡:

动画可以减少用户的学习成本, 可以让一个单调的应用, 变得生动炫酷起来. 一个没有动画的应用, 感觉就像是一个闷骚型男, 不具幽默感, 不知其内心所想, 总是要消耗我们多余的智商去cai.
程序猿的学习时间是宝贵的, 所以废话不多说, 直接进入今天的主题: 视图动画.

大话动画

很长一段时间, 在我们的开发中更多使用的Layer层的动画, 基于 coreAnimation,比如动画组CAAnimationGroup,属性动画CAPropertyAnimation,转场动画CATransform3D等等~~~
但是, 很多时候却忽视了对于UIKit提供给我们的动画API, 这些动画个人感觉好用灵活, 基本上能满足日常开发中, 所需要使用到的一写简单动画.
这些动画参数的原理主要是靠修改view的属性, 然后在这些修改的动作放在执行的代码块里面实现的动画, 下面就具体说说animation方法的使用, 和每一个参数的意义....

细说animation~

1. animateWithDuration:<#(NSTimeInterval)#> animations:<#^(void)animations#>---只有动画时间, 这个没有好说的, 给一个动画需要执行的时间和, 需要改变的属性即可..

2.animateWithDuration:<#(NSTimeInterval)#> animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#>---与上一个方法相比, 增加了一个完成的block回调, 我们可以在这个代码块里面增加一些完成后我们想做的操作, 比如, 需要执行有顺序的动画, 我们可以在这一个动画的完成回调内再开启一个新的动画...

3. animateWithDuration:<#(NSTimeInterval)#> delay:<#(NSTimeInterval)#> options:<#(UIViewAnimationOptions)#> animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#>---delay: 延时执行; options: 可以选着动画的淡出效果, 翻转效果, 动画重复等

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

}---springAnimation 是一种特殊的动画曲线,自从 iOS 7 开始被广泛应用在系统动画中。 上图中演示的系统自带的动画效果,都使用了 Spring Animation 事实上,从 ios 7 起几乎所有的系统动画都用的是 Spring Animation,包括 App 文件夹打开/关闭效果、键盘弹出效果、UISwitch 控件的开关效果、不同 View Controller 之间的 Push 动画、Modal 出现和消失的动画、Siri 的出现和消失动画,等等。usingSpringWithDamping的范围为0.0f到1.0f,数值越小「弹簧」的振动效果越明显。initialSpringVelocity```则表示初始的速度,数值越大一开始移动越快

animation可实现动画的属性

坐标尺寸类

backgroundColor: 修改这个属性会产生颜色渐变过渡的效果,本质上是系统不断修改了tintColor来实现的
alpha:修改这个属性会产生淡入淡出的效果
hidden:修改这个属性可以制作翻页隐藏的效果

形态变化类

transform:修改这个属性可以实现旋转、形变、移动、翻转等动画效果,其通过矩阵运算的方式来实现,因此更加强大

你可能感兴趣的:(iOS 动画系列---视图(UIView)动画---animate....)