iPhone 实现动画效果
来源:互联网 发布:网络推广方面的书籍 编辑:程序博客网 时间:2024/05/18 00:03
(虽然标记的是原创,但是大部分都是书上的,个人学习过程中,学完这段写点儿东西总结下,本想贴上demo程序的,竟然没找到上传附件的地方。。。)
iPhone中实现动画,主要有两种方式:UIView的动画块和Core Animation的CATransition类。
1、UIView的动画块
之所以称为动画块,是因为UView动画是成块运行的,也就是说作为完整的事务一次性运行。
beginAnimation:context:标志动画块开始;
commitAnimations标志动画块结束。(这个commit多少已经暗示这个操作是事务性的)
这里面通常涉及4个操作:
beginAnimation:context:标志动画块开始
setAnimationCurve:定义动画加速或减速的方式,有四种,ease-in/ease-out,ease-in,linear,ease-out
setAnimationDuration:定义动画持续时间(以秒为单位)
commitAnimations:标志动画块结束
所有这些操作都是针对UIView的,或者说是UIView的类函数。给段代码示例:
(这里面设置了动画的delegate,在动画结束后执行animationFinished:函数)
UIView除了实现上面这种简单的动画,还支持视图的翻转。例如在上面代码的[UIView commitAnimations]前加上下面这句,便可以实现视图的翻转(翻转后的试图中,imageView的大小变为原来的0.25倍):
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
其中,参数UIViewAnimationTransitionFlipFromLeft定义了翻转的方式。参见文后的表格,列出了所有的翻转方式。
2、Core Animation (CA)
这种方式提供了高度灵活的动画解决方案(书上说的,我还没体会到有多灵活。。。)。CA只是针对图层,不针对视图。
这里说的图层就是视图的默认图层([myView layer],UIView的文档中,关于这个属性也没多说什么,只是说这个属性以uivew作为delegate,并且该属性不可能为空)。下面展示一段用CA实现视图过渡的代码:
从代码可以看出,基本方式和第1点介绍的UIView的动画块差不多,先是开始,然后设置视图的变化,然后结束。
CATransition的type有四种,见最后的视图过渡类型表格。
subtype也是四种,分别是从上、下、左、右进入。
其实,上面这段代码,并不是使用CA的一般方式(或者说通用方式),下面展示下一般方式:
(这段代码纯粹书上借鉴的,来自于www.lucasnewman.com中的一个示例。)
代码中使用了key path,KVC的强大又一次体现。
附录:Cocoa中视图过渡的方式
UIViewAnimationTransitionFlipFromLeftUIView过渡,从左向右翻转
UIViewAnimationTransitionFlipFromRightUIView过渡,从右向左翻转
UIViewAnimationTransitionFlipCulUpUIView过渡,从下向上翻转,翻页效果,非常不错
UIViewAnimationTransitionFlipCulDownUIView过渡,从上向下翻转
kCATransitionFadeCA交叉淡化过渡
kCATransitionMoveInCA过渡,新视图移到旧视图上
kCATransitionPushCA过渡,新视图将旧视图挤开
kCATransitionRevealCA过渡,将旧视图移开,显示出下面的新视图
- iPhone 实现动画效果
- iphone--通过UIView实现动画效果
- Iphone翻页动画效果--CATransition实现
- iphone用Animation实现动画效果
- iphone的动画效果类型及实现方法
- iPhone的动画效果类型及实现方法
- iPhone的动画效果类型及实现方法
- Iphone开发中的动画效果实现分类代码
- iphone的动画效果类型及实现方法
- iphone的动画效果类型及实现方法
- ios学习--详解IPhone动画效果类型及实现方法
- iPhone的动画效果类型及实现方法
- 详解iPhone开发中各种动画实现效果
- iphone的动画效果类型及实现方法(收集)
- iPhone的动画效果类型及实现方法
- iPhone开发学习笔记通过UIView实现动画效果
- iPhone的动画效果类型及实现方法
- iPhone跳转的动画效果类型及实现方法 CATransition
- CDATA嵌套
- 关于论文的参考文献
- 设计模式:命令模式
- 第一篇日志:写个题目的乱实现吧
- Android MIME类型结构
- iPhone 实现动画效果
- 就是啊啊飞
- 找人 卢张建(浙江省衢州)
- MySQL 存储引擎简介
- 利用visio 创建geodatabase 详解
- ViewFlipper的使用
- 怀念
- 开机遇到的一个问题
- ConcurrentHashMap