最近由于工作不是很忙,就想著解決一下ios開發(fā)中的知識盲點 ,于是看到了ios的自定的轉(zhuǎn)場動畫渔伯。在看了一寫其他人寫的教程和demo,決定自己的寫關(guān)于這方面的總結(jié)教程谅河。
要實現(xiàn)自定義轉(zhuǎn)場動畫的的步驟
第一步:創(chuàng)建一個遵循UIViewControllerAnimatedTransitioning代理協(xié)議的對象
知識擴展:蘋果提供的自定義轉(zhuǎn)場動畫api 是通過幾個代理協(xié)議實現(xiàn)的咱旱。
協(xié)議中又兩個方法用來控制轉(zhuǎn)場動畫的時間和邏輯
1、控制轉(zhuǎn)場動畫的時間
- (NSTimeInterval)transitionDuration:(id<UIViewControllerContextTransitioning>)transitionContext{
return 0.5;
}
2绷耍、控制轉(zhuǎn)場動畫的邏輯和執(zhí)行過程
可以通過其中帶的transitionContext(遵循UIViewControllerContextTransitioning協(xié)議)中獲取我們在制作轉(zhuǎn)場動畫的一些參數(shù)
- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext{
}
第二步 使用轉(zhuǎn)場動畫對象
根據(jù)需要轉(zhuǎn)場的類型不同讓控制器遵循不同的代理協(xié)議吐限,同樣實現(xiàn)不同的代理方法
1、UINavigationControllerDelegate 自定義navigationController轉(zhuǎn)場動畫的時候
2褂始、UITabBarControllerDelegate 自定義tabbarController轉(zhuǎn)場動畫的時候
3诸典、UIViewControllerTransitioningDelegate 自定義present/dismiss的時候
參考文章:iOS 自定義轉(zhuǎn)場動畫的那些事
未完待續(xù)...............