CATransition* transition = [CATransition animation];
transition.type=kCATransitionReveal;//可更改为其他方式
transition.subtype=kCATransitionFromTop;//可更改为其他方式
[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
今天偶然查了下navigationController转场动画发现了些问题 怕忘记 记录下,比较匆忙请大家指正;
执行了[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];这句代码后,我想add开头的方法需不需要执行下[self.navigationController.view.layer removeAllAnimations];清空一下以防在push其他界面的时候也是同样的动画而非系统默认,但经证实不会;我log了self.navigationController、self.navigationController.view、self.navigationController.view.layer在push不同界面的时候全都是相同的内存地址;所以猜测是系统在动画完毕后删除了CATransition,当然这句只是猜测没有证实;