天天看點

iOS:UIView的block函數實作轉場動畫---雙視圖

使用UIView動畫函數實作轉場動畫——雙視圖

+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion;

參數說明:

–duration:動畫的持續時間

–options:轉場動畫的類型

–animations:将改變視圖屬性的代碼放在這個block中

–completion:動畫結束後,會自動調用這個block

方法調用完畢後,相當于執行了下面兩句代碼:

// 添加toView到父視圖

[fromView.superview addSubview:toView];

// 把fromView從父視圖中移除

[fromView removeFromSuperview];

具體執行個體如下:

實作功能:建立兩個子視圖view1和view2,分别設定不同的背景顔色,并把它們添加到父視圖中,然後建立觸摸點選手勢,

每次觸摸螢幕時,兩個視圖交替切換顯示,即實作轉場動畫。

代碼如下:

//聲明屬性

iOS:UIView的block函數實作轉場動畫---雙視圖
iOS:UIView的block函數實作轉場動畫---雙視圖

//初始化,建立兩個子視圖,同時建立觸摸點選手勢并添加手勢事件

iOS:UIView的block函數實作轉場動畫---雙視圖
iOS:UIView的block函數實作轉場動畫---雙視圖

//處理觸摸點選手勢事件,在block函數中實作雙視圖轉場動畫

iOS:UIView的block函數實作轉場動畫---雙視圖
iOS:UIView的block函數實作轉場動畫---雙視圖

示範結果如下:

開始時:

iOS:UIView的block函數實作轉場動畫---雙視圖

點選後:

iOS:UIView的block函數實作轉場動畫---雙視圖
iOS:UIView的block函數實作轉場動畫---雙視圖

動畫結束後:

iOS:UIView的block函數實作轉場動畫---雙視圖

還可以接着點選,會變為綠色視圖,就不一一示範了。

程式猿神奇的手,每時每刻,這雙手都在改變着世界的互動方式!

繼續閱讀