iPhone動畫屬性詳解

 
UIView的動畫屬性簡介:
 
 
reAnimationsEnabled
 
返回一個布爾值表示動畫是否結束。
+ (BOOL)areAnimationsEnabled
返回值
若是動畫結束返回YES,不然NO。
 
beginAnimations:context:
開始一個動畫塊
+ (void)beginAnimations:(NSString *)animationID context:(void *)context
參數
animationID
動畫塊內部應用程序標識用來傳遞給動畫代理消息-這個選擇器運用setAnimationWillStartSelector:和setAnimationDidStopSelector: 方法來設置。
context
附加的應用程序信息用來傳遞給動畫代理消息-這個選擇器使用setAnimationWillStartSelector: 和setAnimationDidStopSelector: 方法。
討論
這個值改變是由於設置了一些須要在動畫塊中產生動畫的屬性。動畫塊能夠被嵌套。若是在沒有在動畫塊中調用那麼setAnimation類方法將什麼都不作。使用 beginAnimations:context:來開始一個動畫塊並用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秒。 內容來自泠雲每天在線
 
copyright lyttzx.com
 
setAnimationDelegate:
設置動畫消息的代理。
+ (void)setAnimationDelegate:(id)delegate
參數
delegate
你能夠用setAnimationWillStartSelector:和setAnimationDidStopSelector: 方法來設置接收代理消息的對象。
討論
這個方法在動畫塊外沒有任何效果。使用beginAnimations:context:類方法開始一個動畫塊並用commitAnimations類方法結束一個動畫塊。默認值是nil
 
 
 
copyright lyttzx.com
 
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。
 
 
setAnimationDuration:
 

 
設置動畫塊中的動畫持續時間(用秒)
+ (void)setAnimationDuration:(NSTimeInterval)duration
參數
duration
一段動畫持續的時間。
討論
這個方法在動畫塊外沒有效果。使用beginAnimations:context: 類方法來開始一個動畫塊並用commitAnimations類方法來結束一個動畫塊。默認值是0.2。
 
 
setAnimationRepeatAutoreverses:
設置動畫塊中的動畫效果是否自動重複播放。
+ (void)setAnimationRepeatAutoreverses:(BOOL)repeatAutoreverses
參數
repeatAutoreverses
若是動畫自動重複就是YES不然就是NO。
討論
自動重複是當動畫向前播放結束後再重頭開始播放。使用setAnimationRepeatCount: 類方法來指定動畫自動重播的時間。若是重複數爲0或者在動畫塊外那將沒有任何效果。使用beginAnimations:context:類方法來開始一個動畫塊並用commitAnimations方法來結束一個動畫塊。默認值是NO。
 
 
 
 
 
setAnimationRepeatCount:
 
 
設置動畫在動畫模塊中的重複次數
+ (void)setAnimationRepeatCount:(float)repeatCount
參數
repeatCount
動畫重複的次數,這個值能夠是分數。
討論
這個屬性在動畫塊外沒有任何做用。使用beginAnimations:context:類方法來開始一個動畫塊並用commitAnimations類方法來結束。默認動畫不循環。 lyttzx.com
 
 
 
setAnimationsEnabled:
設置是否激活動畫
+ (void)setAnimationsEnabled:(BOOL)enabled
參數
enabled
若是是YES那就激活動畫;不然就是NO
討論
當動畫參數沒有被激活那麼動畫屬性的改變將被忽略。默認動畫是被激活的。
 
 
 
 
 
setAnimationStartDate:
設置在動畫塊內部動畫屬性改變的開始時間
+ (void)setAnimationStartDate:(NSDate *)startTime
參數
startTime
一個開始動畫的時間
討論
使用beginAnimations:context:類方法來開始一個動畫塊並用commitAnimations類方法來結束動畫塊。默認的開始時間值由CFAbsoluteTimeGetCurrent方法來返回。
 
 
  copyright lyttzx.com

setAnimationTransition:forView:cache:
在動畫塊中爲視圖設置過渡
+ (void)setAnimationTransition:(UIViewAnimationTransition)transition forView:(UIView *)view cache:(BOOL)cache
參數
transition
把一個過渡效果應用到視圖中。可能的值定義在UIViewAnimationTransition中。
view
須要過渡的視圖對象。
cache
若是是YES,那麼在開始和結束圖片視圖渲染一次並在動畫中建立幀;不然,視圖將會在每一幀都渲染。例如緩存,你不須要在視圖轉變中不停的更新,你只須要等到轉換完成再去更新視圖。
討論
若是你想要在轉變過程當中改變視圖的外貌。舉個例子,文件從一個視圖到另外一個視圖,然後使用一個UIView子類的容器視圖,以下:
1.Begin an animation block.
2.Set the transition on the container view.
3.Remove the subview from the container view.
4.Add the new subview to the container view.
5.Commit the animation block.
1.開始一個動畫塊。 2.在容器視圖中設置轉換。 3.在容器視圖中移除子視圖。 4.在容器視圖中添加子視圖。 5.結束動畫塊。


  copyright lyttzx.com
setAnimationWillStartSelector:lyttzx.com
當動畫開始時發送一條消息到動畫代理 + (void)setAnimationWillStartSelector:(SEL)selector 參數 selector 在動畫開始前向動畫代理髮送消息。默認值是NULL。這個selector必須由和beginAnimations:context: 方法相同的參數,一個任選的程序標識和內容。這些參數均可以是nil。 討論 這個方法在動畫塊外沒有任何做用。使用beginAnimations:context:類方法來開始一個動畫塊並用commitAnimations類方法來結束

相關文章
相關標籤/搜索