標籤:
iOS動畫開發之三——UIView的轉場切換
前兩篇部落格中,我們分別介紹了UIView動畫的兩種使用方式,分別為,帶block的方式:http://my.oschina.net/u/2340880/blog/484457 ,傳統的屬性配置的方式:http://my.oschina.net/u/2340880/blog/484538。通過UIView動畫的類方法,我們可以十分方便的使View某些屬性改變的同時擁有動畫效果。這篇部落客要討論View切換的動畫操作。
兩個方法:
+ (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;
通過這個方法,我們可以重繪View視圖,任何其子視圖的改變或者其自身的改變都會觸發轉場動畫的效果, 系統提供的轉場效果在第一篇部落格中已經介紹過。
這個方法常用於類似小說軟體的翻頁效果。
+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion;
這個方法會作用於fromView的父視圖,用於切換兩個view,通過執行這個方法,會將formView從其父視圖上移除,將toView重新粘在其父視圖上,展現一個動畫效果。
通過使用上述兩個方法,你會發現某些效果會非常突兀,比如想要改變視圖的顏色,它會在轉場動畫播放完成後,顏色突然的變化,要改善這一效果,我們需要設定options參數包含:UIViewAnimationOptionAllowAnimatedContent這個枚舉。
iOS動畫開發之三——UIView的轉場切換