UIViewAnimation動畫的使用

轉載;

一蘸劈、簡介

一款APP的成功與否昏苏,除了完善的功能外,用戶體驗也占有極大的比重威沫,動畫的合理運用贤惯,可以很好的增強用戶體驗。iOS開發(fā)中壹甥,常用的動畫處理有UIView動畫編程和核心動畫編程救巷,其中UIView動畫使用簡便,開發(fā)中應用十分廣泛句柠。這篇博客浦译,主要討論UIView的動畫使用棒假。

二、UIView動畫的幾個方法

+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void(^)(void))animations;

這個是參數(shù)最少的一個方法精盅,我們可以通過設置一個時間和block塊來完成動畫帽哑,時間參數(shù)是動畫執(zhí)行的時長,block塊中為要執(zhí)行的動畫動作叹俏,具體可以執(zhí)行那些動作妻枕,我們會在后面說。例如在1S內將view漸變透明:

[UIView?animateWithDuration:1?animations:^{

_myView.alpha=0;

}];

+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void(^)(void))animations completion:(void(^)(BOOLfinished))completion;

這個函數(shù)會帶兩個block塊粘驰,用法和第一個函數(shù)相似屡谐,設置一個執(zhí)行時間和一個執(zhí)行動作,第二個block塊中可以添加一個動畫執(zhí)行結束后的動作蝌数,作為補充愕掏,例如下面代碼的效果,在1S內將view漸變?yōu)橥该鞫ド。瑒赢嫿Y束后饵撑,view在瞬間變回不透明:

[UIView?animateWithDuration:1?animations:^{

_myView.alpha=0;

}completion:^(BOOLfinished)?{????????if?(finished)?{????????????_myView.alpha=1;????????}????}];

+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void(^)(void))animations completion:(void(^)(BOOLfinished))completion;

這個函數(shù)除了上面的屬性外,可以設置延時執(zhí)行唆貌,同時可以設置一個動畫效果參數(shù)滑潘,這個參數(shù)是個枚舉,它可以影響動畫的執(zhí)行效果锨咙,后面會再總結语卤。

+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay usingSpringWithDamping:(CGFloat)dampingRatio initialSpringVelocity:(CGFloat)velocity options:(UIViewAnimationOptions)options animations:(void(^)(void))animations completion:(void(^)(BOOLfinished))completion;

這個函數(shù)是iOS7之后的一個新函數(shù),通過這個函數(shù)蓖租,我們可以方便的制作出效果炫酷的動畫粱侣,這個函數(shù)的核心是兩個阻尼參數(shù),參數(shù)dampingRatio可以理解為彈簧效果的強弱蓖宦,設置1則沒有回彈效果,設置0則會劇烈的阻尼回彈油猫。velocity參數(shù)用于設置彈簧的初始速度稠茂。

三、UIView動畫可以操作的視圖屬性

通過上面的介紹情妖,我們了解了幾個使用動畫的函數(shù)睬关,那么那些屬性可以產生動畫效果呢?

官方文檔告訴我們這些屬性是可以通過上述方法進行動畫的:

四毡证、動畫執(zhí)行選項設置

在UIView執(zhí)行動畫的相關函數(shù)中电爹,有UIViewAnimationOptions這個參數(shù)可以對動畫的執(zhí)行效果進行設置,這個枚舉非常多料睛,可分為三部分丐箩,如下:


討論View切換的動畫操作-------轉場

兩個方法:

+ (void)transitionWithView:(UIView*)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void(^)(void))animations completion:(void(^)(BOOLfinished))completion;

通過這個方法摇邦,我們可以重繪View視圖,任何其子視圖的改變或者其自身的改變都會觸發(fā)轉場動畫的效果屎勘,?系統(tǒng)提供的轉場效果在第一篇博客中已經介紹過施籍。

這個方法常用于類似小說軟件的翻頁效果。

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

這個方法會作用于fromView的父視圖概漱,用于切換兩個view丑慎,通過執(zhí)行這個方法,會將formView從其父視圖上移除瓤摧,將toView重新粘在其父視圖上竿裂,展現(xiàn)一個動畫效果。

通過使用上述兩個方法照弥,你會發(fā)現(xiàn)某些效果會非常突兀腻异,比如想要改變視圖的顏色,它會在轉場動畫播放完成后产喉,顏色突然的變化捂掰,要改善這一效果,我們需要設置options參數(shù)包含:UIViewAnimationOptionAllowAnimatedContent這個枚舉曾沈。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末这嚣,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子塞俱,更是在濱河造成了極大的恐慌姐帚,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件障涯,死亡現(xiàn)場離奇詭異罐旗,居然都是意外死亡,警方通過查閱死者的電腦和手機唯蝶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進店門九秀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人粘我,你說我怎么就攤上這事鼓蜒。” “怎么了征字?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵都弹,是天一觀的道長。 經常有香客問我匙姜,道長畅厢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任氮昧,我火速辦了婚禮框杜,結果婚禮上浦楣,老公的妹妹穿的比我還像新娘。我一直安慰自己霸琴,他們只是感情好椒振,可當我...
    茶點故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著梧乘,像睡著了一般澎迎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上选调,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天夹供,我揣著相機與錄音,去河邊找鬼仁堪。 笑死哮洽,一個胖子當著我的面吹牛,可吹牛的內容都是我干的弦聂。 我是一名探鬼主播鸟辅,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼莺葫!你這毒婦竟也來了匪凉?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤捺檬,失蹤者是張志新(化名)和其女友劉穎再层,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體堡纬,經...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡聂受,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了烤镐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛋济。...
    茶點故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖炮叶,靈堂內的尸體忽然破棺而出瘫俊,到底是詐尸還是另有隱情,我是刑警寧澤悴灵,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站骂蓖,受9級特大地震影響积瞒,放射性物質發(fā)生泄漏。R本人自食惡果不足惜登下,卻給世界環(huán)境...
    茶點故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一茫孔、第九天 我趴在偏房一處隱蔽的房頂上張望叮喳。 院中可真熱鬧,春花似錦缰贝、人聲如沸馍悟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锣咒。三九已至,卻和暖如春赞弥,著一層夾襖步出監(jiān)牢的瞬間毅整,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工绽左, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留悼嫉,地道東北人。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓拼窥,卻偏偏與公主長得像戏蔑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鲁纠,可洞房花燭夜當晚...
    茶點故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內容

  • 在iOS中隨處都可以看到絢麗的動畫效果总棵,實現(xiàn)這些動畫的過程并不復雜,今天將帶大家一窺iOS動畫全貌房交。在這里你可以看...
    F麥子閱讀 5,115評論 5 13
  • 在iOS中隨處都可以看到絢麗的動畫效果彻舰,實現(xiàn)這些動畫的過程并不復雜,今天將帶大家一窺ios動畫全貌候味。在這里你可以看...
    每天刷兩次牙閱讀 8,514評論 6 30
  • 動畫的繼承結構 CAAnimation{CAPropertyAnimation{CABasicAnimation{...
    早起的蟲兒子被鳥吃閱讀 889評論 0 1
  • 一刃唤、初始化方法 1、- initWithFrame: UIView *view = [[UIView alloc]...
    默默_David閱讀 2,518評論 1 3
  • 在iOS實際開發(fā)中常用的動畫無非是以下四種:UIView動畫白群,核心動畫尚胞,幀動畫,自定義轉場動畫帜慢。 1.UIView...
    請叫我周小帥閱讀 3,106評論 1 23