前言
之前寫的一個轉場動畫庫WXSTransition受到挺多開發(fā)者喜歡的冀泻。但是也存在著一些各種各樣的問題八匠,最近抽出一些時間對WXSTransition存在的一些問題進行修復击敌。
其中比較明顯的問題是在轉場動畫過程中冤馏,導航欄的存在讓動畫看起來不夠順暢何恶,自然。導航欄的使用頻率很高咐汞,所以這是一個比較大的問題。
解決
發(fā)現(xiàn)這個問題的第一個想法是要讓導航欄做相應的動畫儒鹿,但是在實踐過程中發(fā)現(xiàn)化撕,確實有挺多坑,一個是導航欄相關API比較少约炎,一個是要進行相對應的動畫比較吃力不討好植阴。
最后采用一個性價比比較高的方案蟹瘾,在適合的時機隱藏、顯示導航欄掠手。
在- (void)animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext
方法隱藏
在- (void)animationEnded:(BOOL) transitionCompleted
方法中顯示憾朴。
效果如圖:
其實在網(wǎng)上可以看到許多對轉場過程中對導航欄的處理,可以根據(jù)自身的需求參照網(wǎng)上的方法進行導航欄自定義動畫喷鸽,例如漸變等众雷。為了不與自定義動畫沖突,我加上了autoShowAndHideNavBar
屬性做祝,將其設置為NO時邊不會自動隱藏砾省,顯示,就不會與自定義動畫沖突混槐。
代碼在我的Github上WXSTransion