iOS 开发——登录页面动画、转场动画
2018-01-06 13:24
344 查看
DEMO下载地址:https://github.com/YYProgrammer/YYLoginTranslationDemo
技术点分析
如何生成一个动画让控件执行?
现流行的方式主要有三种:
1、基本动画
2、核心动画
3、三方框架——POP框架(由Facebook开发)
它们的主要差别:
1、控件的位置、大小等是不是真的发生了改变?
基本动画、pop动画,是给控件添加动画(一般也不会有用基本动画给layer添加动画的做法),所有动画完成时,控件的属性已经改变,而核心动画,是给控件的图层(view.layer)添加动画,看似发生了位置大小的变化,实际上控件本身的属性并未改变。
2、它们分别的优劣势
2.1、基本动画
优势:代码简单,代码量少
劣势:功能相对单一
2.2、核心动画的优势
优势:功能强大、流畅性好、连续几个动画之间的衔接度好。流畅主要是因为操作layer是轻量级的,不容易产生动画卡顿的感觉。
劣势:代码量大;容易写错(某些参数没有定义宏,写错了都不知道);如有需要,还要手动在动画完成时将控件的属性同步修改了。
2.3、pop动画的优势
优势:比核心动画代码要简单,最大的优势在于,容易做弹簧效果,所以很多有“Q弹”感觉的都用pop动画做
劣势:要在一个动画完成时开始另一个动画,pop动画不擅长,主要因为它的动画执行时间由"速度"和"弹性系数"两个参数控制,不好直观判断动画执行了多久,而如果在pop动画完成回调的block里提交下一个动画,会不连贯(亲测,原因不详)。
转场动画怎么实现?
明明从A控制器跳往B控制器,各是各的页面,各是各的控件,怎么做到A里的控件变化形成了B的控件的效果?
的确,A和B是两个独立的页面,它们跳转过程需要动画的效果时,需要另外一个呈现于屏幕上的载体(或者称页面)来装那些做动画的控件,然后在动画完成、转场结束时,把这个载体移除掉,宣告转场结束,这个时候把真正的B的页面展示出来。
这就需要转场代理transitioningDelegate发挥作用了,具体做法和原理下文详述。
相关文章推荐
- IOS登录页面动画、转场动画开发详解
- iOS开发——登录页面动画、转场动画
- 零基础学习IOS开发(四)- cocos2d-x3.0 使用转场动画和按钮
- iOS 开发之 点击tabbarItem添加是否跳转登录页面判断
- iOS开发 ----- UIViewController转场动画
- iOS开发UI篇—核心动画(转场动画和组动画)
- iOS开发之各种动画各种页面切面效果
- iOS开发中在加载页面添加菊花动画(非第三方)
- ios客户端发现_动画屋后期页面重构与悬浮评论分享模块开发项目总结
- iOS开发>学无止境 - 自定义控制器转场动画及实现下拉菜单的小Demo
- iOS开发之各种动画各种页面切面效果
- iOS开发UI篇—核心动画(转场动画和组动画)
- iOS 视图控制器转场动画/页面切换效果/跳转动画 学习
- iOS开发UI篇—核心动画(转场动画和组动画)
- iOS开发之各种动画各种页面切面效果
- iOS开发UI高级—35核心动画(转场动画和组动画)
- iOS开发UI篇—核心动画(转场动画和组动画)
- iOS开发之——从零开始完成页面切换形变动画
- iOS开发Modal页面跳转动画效果
- iOS开发之各种动画各种页面切面效果