简单收集 关于 转场动画

之前一直想研究一下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层上。。

 

以上是鄙人的略见

posted @ 2016-07-05 15:45  世界仔  阅读(196)  评论(0编辑  收藏  举报