詳解iPhone中UIView動畫各種表現方式 參考文檔 (上)
iPhone應用之UIView動畫實現效果是本文要介紹的內容,主要是來介紹UIView動畫的各種表現方式,我們先來看詳細內容。
返回一個布爾值表示動畫是否結束。
- + (BOOL)areAnimationsEnabled
返回值
如果動畫結束返回YES,否則NO。
- beginAnimations:context:
開始一個動畫塊
- + (void)beginAnimations:(NSString *)animationID context:(void *)context
參數
animationID
動畫塊內部應用程序標識用來傳遞給動畫代理消息-這個選擇器運用setAnimationWillStartSelector:和setAnimationDidStopSelector: 方法來設置。
context
附加的應用程序信息用來傳遞給動畫代理消息-這個選擇器使用setAnimationWillStartSelector: 和setAnimationDidStopSelector: 方法。
討論
這個值改變是因為設置了一些需要在動畫塊中產生動畫的屬性。動畫塊可以被嵌套。如果在沒有在動畫塊中調用那么setAnimation類方法將什么都不做。使用 beginAnimations:context:來開始一個動畫塊并用commitAnimations類方法來結束一個動畫塊。
commitAnimations
結束一個動畫塊并開始當他在動畫塊外時。
- + (void)commitAnimations
討論
如果當前的動畫塊是最外層的動畫塊,當應用程序返回到循環運行時開始動畫塊。動畫在一個獨立的線程中所有應用程序不會中斷。使用這個方法,多個動畫可以被實現。查看setAnimationBeginsFromCurrentState:來了解如果開始一個動畫當另外一個動畫在播放的時候。
layerClass
返回類用來創建這一個本類的layer實例對象。
- + (Class)layerClass
返回值
一個用來創建視圖layer的類
討論
重寫子類來指定一個自定義類用來顯示。當在創建視圖layer時候調用。默認的值是CALayer類對象。
setAnimationBeginsFromCurrentState
:
設置動畫從當前狀態開始播放。
- + (void)setAnimationBeginsFromCurrentState:(BOOL)fromCurrentState
參數
fromCurrentState
YES如果動畫需要從他們當前狀態開始播放。否則為NO。
討論
如果設置為YES那么當動畫在運行過程中,當前視圖的位置將會作為新的動畫的開始狀態。如果設置為NO,當前動畫結束前新動畫將使用視圖最後狀態的位置作為開始狀態。這個方法將不會做任何事情如果動畫沒有運行或者沒有在動畫塊外調用。使用beginAnimations:context:類方法來開始并用 commitAnimations類方法來結束動畫塊。默認值是NO。
setAnimationCurve
:
設置動畫塊中的動畫屬性變化的曲線。
- + (void)setAnimationCurve:(UIViewAnimationCurve)curve
討論
動畫曲線是動畫運行過程中相對的速度。如果在動畫塊外調用這個方法將會無效。使用 beginAnimations:context:類方法來開始動畫塊并用commitAnimations來結束動畫塊。默認動畫曲線的值是 UIViewAnimationCurveEaseInOut。
setAnimationDelay:
在動畫塊中設置動畫的延遲屬性(以秒為單位)
- + (void)setAnimationDelay:(NSTimeInterval)delay
討論
這個方法在動畫塊外調用無效。使用beginAnimations:context: 類方法開始一個動畫塊并用commitAnimations類方法結束動畫塊。默認的動畫延遲是0.0秒。
setAnimationDelegate:
設置動畫消息的代理。
- + (void)setAnimationDelegate:(id)delegate
參數
delegate
你可以用setAnimationWillStartSelector:和setAnimationDidStopSelector: 方法來設置接收代理消息的對象。
討論
這個方法在動畫塊外沒有任何效果。使用beginAnimations:context:類方法開始一個動畫塊并用commitAnimations類方法結束一個動畫塊。默認值是nil
setAnimationDidStopSelector:
設置消息給動畫代理當動畫停止的時候。
- + (void)setAnimationDidStopSelector:(SEL)selector
參數
selector
當動畫結束的時候發送給動畫代理。默認值是NULL。這個選擇者須有下面方法的簽名:animationFinished:(NSString *)animationID finished:(BOOL)finished context:(void *)context。
animationID
一個應用程序提供的標識符。和傳給beginAnimations:context: 相同的參數。這個參數可以為空。
finished
如果動畫在停止前完成那返回YES;否則就是NO。
context
一個可選的應用程序內容提供者。和beginAnimations:context: 方法相同的參數??梢詾榭?。
討論
這個方法在動畫塊外沒有任何效果。使用beginAnimations:context: 類方法來開始一個動畫塊并用commitAnimations類方法結束。默認值是NULL。
小結:詳解iPhone中UIView動畫各種表現方式的內容介紹完了,希望本文對你有所幫助!如果你對iPhone中UIView動畫感興趣的話,請參考: