IOS動畫中的枚舉UIViewAnimationOptions

首先這個枚舉屬于UIViewAnimation。我們經(jīng)常使用的函數(shù)是[UIView animateWithDuration: animations:^{} completion:^(BOOL finished) {}];和[UIView animateWithDuration: animations:^{}];如果動畫稍微復(fù)雜點,例如需要組合等等就可能用到這個函數(shù):[UIView animateWithDuration: delay: options: animations: completion:^(BOOL finished) {}];剛開始接觸的朋友看到一堆枚舉可能就覺得煩,尤其是蘋果那混亂的動畫框架東一坨,西一坨。又是Quartz2D,又是核心動畫跟臭襪子一樣……沒關(guān)系,撿回來接著穿。

以上方法中的options一項需要傳入一個枚舉,這個枚舉大概控制的是這幾個要素:當(dāng)前動畫嵌套中的動畫執(zhí)行隨時間的快慢種類(先快后慢等..)。動畫要一直重復(fù)嗎。如果我使用轉(zhuǎn)場動畫那么我用哪種轉(zhuǎn)場效果。還有子動畫嵌套在父動畫中時我們?nèi)绾螌Υ竸赢嬛械南嗤x項等等..

正文:

UIViewAnimationOptionLayoutSubviews //提交動畫的時候布局子控件,表示子控件將和父控件一同動畫。

UIViewAnimationOptionAllowUserInteraction //動畫時允許用戶交流,比如觸摸

UIViewAnimationOptionBeginFromCurrentState //從當(dāng)前狀態(tài)開始動畫

UIViewAnimationOptionRepeat //動畫無限重復(fù)

UIViewAnimationOptionAutoreverse //執(zhí)行動畫回路,前提是設(shè)置動畫無限重復(fù)

UIViewAnimationOptionOverrideInheritedDuration //忽略外層動畫嵌套的執(zhí)行時間

UIViewAnimationOptionOverrideInheritedCurve //忽略外層動畫嵌套的時間變化曲線

UIViewAnimationOptionAllowAnimatedContent //通過改變屬性和重繪實現(xiàn)動畫效果,如果key沒有提交動畫將使用快照

UIViewAnimationOptionShowHideTransitionViews //用顯隱的方式替代添加移除圖層的動畫效果

UIViewAnimationOptionOverrideInheritedOptions //忽略嵌套繼承的?選項

//時間函數(shù)曲線相關(guān)

UIViewAnimationOptionCurveEaseInOut //時間曲線函數(shù),由慢到快

UIViewAnimationOptionCurveEaseIn //時間曲線函數(shù),由慢到特別快

UIViewAnimationOptionCurveEaseOut //時間曲線函數(shù),由快到慢

UIViewAnimationOptionCurveLinear //時間曲線函數(shù),勻速

//轉(zhuǎn)場動畫相關(guān)的

UIViewAnimationOptionTransitionNone //無轉(zhuǎn)場動畫

UIViewAnimationOptionTransitionFlipFromLeft //轉(zhuǎn)場從左翻轉(zhuǎn)

UIViewAnimationOptionTransitionFlipFromRight //轉(zhuǎn)場從右翻轉(zhuǎn)

UIViewAnimationOptionTransitionCurlUp //上卷轉(zhuǎn)場

UIViewAnimationOptionTransitionCurlDown //下卷轉(zhuǎn)場

UIViewAnimationOptionTransitionCrossDissolve //轉(zhuǎn)場交叉消失

UIViewAnimationOptionTransitionFlipFromTop //轉(zhuǎn)場從上翻轉(zhuǎn)

UIViewAnimationOptionTransitionFlipFromBottom //轉(zhuǎn)場從下翻轉(zhuǎn)

以上是淺略的理解,歡迎朋友有更好的指正,以免誤人子弟。

補(bǔ)充:關(guān)于最后一組轉(zhuǎn)場動畫它一般是用在這個方法中的:

[UIView transitionFromView: toView: duration: options: completion:^(BOOL finished) {}];

該方法效果是插入一面視圖移除一面視圖,期間可以使用一些轉(zhuǎn)場動畫效果。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容