简单收集 关于 转场动画
之前一直想研究一下ios的转场动画,结果到了做项目的时候才会想起!
好吧,,闲话就免提啦
一个关于tabbar的转场动画
首先自定义个tabbarVC 继承自 UITabbarController
然后,之前一直没有投诉,转场动画该怎么做,直到一次无意中看到,tabbar是有代理方法的。
UITabBarControllerDelegate
于是就有了头绪
简单的来实现一下
func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) {
let tran=CATransition()
tran.duration=0.75
tran.type="rippleEffect"
tran.subtype=kCATransitionFromLeft
viewController.view.layer.addAnimation(tran, forKey: nil)
}
结果,想要的效果一点都没有出来。心想,应该是这样没错的?
但是,我又想了一下,,所有的view都是加在window层上面的,于是改了一下
func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) {
let tran=CATransition()
tran.duration=0.75
tran.type="rippleEffect"
tran.subtype=kCATransitionFromLeft
app.window!.layer.addAnimation(tran, forKey: nil)
}
效果立马就出来了
总结一下:
window有且只有一个,我们做转换控制器的view的时候,不过是window替换view的一个过程。所以,转场动画应该加到window层上。。
以上是鄙人的略见