界面轉(zhuǎn)場動畫時導(dǎo)航欄的處理

前言

之前寫的一個轉(zhuǎn)場動畫庫WXSTransition受到挺多開發(fā)者喜歡的。但是也存在著一些各種各樣的問題,最近抽出一些時間對WXSTransition存在的一些問題進(jìn)行修復(fù)。
其中比較明顯的問題是在轉(zhuǎn)場動畫過程中,導(dǎo)航欄的存在讓動畫看起來不夠順暢,自然。導(dǎo)航欄的使用頻率很高,所以這是一個比較大的問題。

解決

發(fā)現(xiàn)這個問題的第一個想法是要讓導(dǎo)航欄做相應(yīng)的動畫,但是在實踐過程中發(fā)現(xiàn),確實有挺多坑,一個是導(dǎo)航欄相關(guān)API比較少,一個是要進(jìn)行相對應(yīng)的動畫比較吃力不討好。
最后采用一個性價比比較高的方案,在適合的時機(jī)隱藏、顯示導(dǎo)航欄。
- (void)animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext方法隱藏

- (void)animationEnded:(BOOL) transitionCompleted方法中顯示。
效果如圖:

fragment.gif

spread.gif

viewMove.gif

其實在網(wǎng)上可以看到許多對轉(zhuǎn)場過程中對導(dǎo)航欄的處理,可以根據(jù)自身的需求參照網(wǎng)上的方法進(jìn)行導(dǎo)航欄自定義動畫,例如漸變等。為了不與自定義動畫沖突,我加上了autoShowAndHideNavBar屬性,將其設(shè)置為NO時邊不會自動隱藏,顯示,就不會與自定義動畫沖突。

代碼在我的Github上WXSTransion

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,337評論 25 708
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,241評論 4 61
  • 尼各馬可倫理學(xué)第三卷 第三卷分為行為與具體的德性兩個部分,在行為部分主要探討了意愿行為、選擇、考慮、希望、德性、惡...
    成人的道閱讀 3,824評論 5 5
  • 我的性格有時候像我的微信名字一樣,比較包子,但凡事情喜歡忍讓,多一事不如少一事,自己喜歡的東西很少去爭取。 我曾經(jīng)...
    roseling于北京閱讀 178評論 0 1
  • 思路(代碼優(yōu)化了該思路) 初始化:count = 0 遍歷二維數(shù)組:遇到'X'時判斷當(dāng)前塊的上方和左方存在'X'與...
    XYZ7閱讀 234評論 0 0