IOS UIView 之類方法篇 Class Methods

接上篇UIView屬性篇,從這篇開始我們就開始進入 UIView 方法的旅途中了
首先從類方法開始,本篇就總結一下類方法

UIView 類方法  Class Methods

類方法基本上都是與動畫相關的
+ (void)addKeyframeWithRelativeStartTime:(double)frameStartTime relativeDuration:(double)frameDuration animations:(void (^)(void))animations

//指定一個關鍵幀的單個貞的時間和動畫,從IOS7開始使用
//這裏說一下參數,第一個frameStartTime其實是個倍數從0到1,假設一個動畫持續的時間是2秒
//設置frameStartTime爲0.5,那麼後面設置的動畫,將會在整體動畫執行1秒後開始執行
//第二個參數frameDuration同第一個,是指動畫持續時間
//第三個是一個block對象,裏面就是你設置的所要執行的動畫,無參數和返回值

+ (void)animateKeyframesWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewKeyframeAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion

//爲當前視圖創建一個可以用於設置基本關鍵幀動畫的block對象,從IOS7開始使用
//這個方法可以與上一個方法結合使用

+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations
//設置視圖切換時的動畫
+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
//同上,只是多了可以在動畫結束後執行一些東西
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
//增加了幾個參數,分別是delay動畫執行前的等待時間,options 動畫方式
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay usingSpringWithDamping:(CGFloat)dampingRatio initialSpringVelocity:(CGFloat)velocity
options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
//在原來的基礎上又增加了兩個參數,實現了像彈簧一樣的動畫
//dampingRatio 這個參數是設置彈簧的阻尼比例
//velocity 這個是設置彈簧的最初速度
//從IOS7開始使用

+ (void)beginAnimations:(NSString *)animationID context:(void *)context
//開始指定的動畫,context附加的應用程序信息用來傳遞給動畫代理消息

+ (void)commitAnimations  
//結束一個動畫塊並開始當他在動畫塊外時。
//如果當前的動畫塊是最外層的動畫塊,當應用程序返回到循環運行時開始動畫塊。
動畫在一個獨立的線程中所有應用程序不會中斷。使用這個方法,多個動畫可以被實現。
查看setAnimationBeginsFromCurrentState:來了解如果開始一個動畫當另外一個動畫在播放的時候。

+ (Class)layerClass
//返回一個用於爲實例創建圖層的類

+ (void)performSystemAnimation:(UISystemAnimation)animation onViews:(NSArray *)views options:(UIViewAnimationOptions)options animations:(void (^)(void))parallelAnimations completion:(void (^)(BOOL finished))completion
//在一組視圖上執行指定的系統動畫,並可以並行自定義的動畫
//其中parallelAnimations就是與系統動畫並行的自定義動畫
+ (void)performWithoutAnimation:(void (^)(void))actionsWithoutAnimation
//視圖轉換時不執行動畫,參數爲block對象,來執行你要執行的代碼

+ (BOOL)areAnimationsEnabled
//判斷視圖是否允許使用動畫
+ (BOOL)requiresConstraintBasedLayout
//返回視圖是否依賴基於約束的佈局系統

對視圖動畫的設置

+ (void)setAnimationBeginsFromCurrentState:(BOOL)fromCurrentState
//設置動畫在當前環境下是否開始播放

+ (void)setAnimationCurve:(UIViewAnimationCurve)curve
//設置動畫塊中的動畫屬性變化的曲線。主要是階段性快慢的變化,比如先快後慢,先慢後快...
//動畫曲線是動畫運行過程中相對的速度。如果在動畫塊外調用這個方法將會無效

+ (void)setAnimationDelay:(NSTimeInterval)delay
//在動畫塊中設置動畫的延遲屬性(以秒爲單位)

+ (void)setAnimationDelegate:(id)delegate
//設置動畫消息的代理。

+ (void)setAnimationWillStartSelector:(SEL)selector
//動畫將要開始時調用選擇器選擇的方法
//選擇器應該選擇的方法爲- (void)animationDidStart:(NSString *)animationID context:(void *)context.
+ (void)setAnimationDidStopSelector:(SEL)selector
//動畫結束後調用選擇器選擇的方法
//選擇器應該選擇的方法爲- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context. 

+ (void)setAnimationDuration:(NSTimeInterval)duration
//設置動畫的持續時間

+ (void)setAnimationRepeatAutoreverses:(BOOL)repeatAutoreverses
//設置動畫塊中的動畫效果是否自動重複播放。

+ (void)setAnimationRepeatCount:(float)repeatCount
//設置動畫重複的次數

+ (void)setAnimationsEnabled:(BOOL)enabled
//設置是否激活動畫

+ (void)setAnimationStartDate:(NSDate *)startTime
//設置動畫開始時間

+ (void)setAnimationTransition:(UIViewAnimationTransition)transition forView:(UIView *)view cache:(BOOL)cache
//爲指定的視圖設置一個過渡,transition爲過渡效果
//參數cache 如果是YES,那麼在開始和結束圖片視圖渲染一次並在動畫中創建幀;
   否則,視圖將會在每一幀都渲染。例如緩存,你不需要在視圖轉變中不停的更新,
   你只需要等到轉換完成再去更新視圖。

視圖過渡動畫
+ (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
//創建指定視圖的過渡動畫
+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion
//創建制定視圖之間轉換的過渡動畫

OK 以上就是UIView這個類的全部類方法。就到這裏


今天跟大家分享了UIView 的類方法,若有錯誤,歡迎指正。—— LC





發佈了56 篇原創文章 · 獲贊 4 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章