天天看点

IOS视图控制器自定义动画效果

(1)这里的动画效果指的是界面切换的动画效果,我们常见的又淡入淡出,右出左进等等,当然还有一些高级动画,这种动画适合游戏类的,对于一般APP会显得太花哨。

(2)我们在此处没有增加任何框架(QuartzCore)也没有导入什么头文件(QuartzCore.h),就可以直接用CATransiton(相当于是CAAnimation的子类)来创建一个对象,如animation1。

(3)创建完之后我们就对这个动画对象进行动画设置,这里面主要是涉及到type属性,而且值有两种:一种是调用系统自带的一些效果,kCATransition开头的,如animation1.type=kCATransitionPush、kCATransitionMoveIn、kCATransitionFade等;另一种是传入名称的方法,这个名称也是内置的吧,在某一个库里吧(难道就是在QuartzCore.h里?),不管那么多,反正是可以直接用@“ ”来赋值即可,比如animation.type=@"cube"、@“pageCurl”、@“rippleEffect”等。

(4)当然,最重要的时我们这些动画效果都是在导航控制器视图的layer层上的,所以要显示这个动画,得把它加载进去,即直接赋值即可,如[self.navigationController.view.layer addAnimation:animation1 forKey:nil];

(5)还有个次重要的,就是得关闭我们系统默认的动画,[self.navigationController popViewControllerAnimated:NO];也就是设置为NO即可,防止出现怪异的动画叠加。

我们依然是在导航控制器中说的这个事儿,所以当然我们需要创建2个视图控制器放到导航控制器中,用于界面跳转(切换)时用。

这个是根试图控制器ViewController.m文件,核心部分比较简单,三个步骤。

下面这个是子页面的SecondViewController.m的文件:

继续阅读