iOS的動畫效果類型及實現方法
來源:易賢網 閱讀:3996 次 日期:2015-05-08 14:43:20
溫馨提示:易賢網小編為您整理了“iOS的動畫效果類型及實現方法”,方便廣大網友查閱!

實現iOS漂亮的動畫效果主要有兩種方法,

一種是UIView層面的,

一種是使用CATransition進行更低層次的控制,

第一種是UIView,UIView方式可能在低層也是使用CATransition進行了封裝,它只能用于一些簡單的、常用的效果展現,這里寫一個常用的示例代碼,供大家參考。

[UIView beginAnimations:@"Curl"context:nil];//動畫開始

[UIView setAnimationDuration:0.75];

[UIView setAnimationDelegate:self];

[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:myview cache:YES];

[myview removeFromSuperview];

[UIView commitAnimations];

第二種方式相對復雜一些,但如果更好的進行控制,還是使用這種方法吧,

基本使用方法可以看一下如下例子:

CATransition *animation = [CATransition animation];

[animation setDuration:1.25f];

[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];

[animation setType:kCATransitionReveal];

[animation setSubtype: kCATransitionFromBottom];

[self.view.layer addAnimation:animation forKey:@"Reveal"];

這里使用了setType與setSubtype組合,這使用個比較保險,因為他的參數就是官方API里定義的,他們的參數說明可以參考如下:

[animation setType:@"suckEffect"];

這里的suckEffect就是效果名稱,可以用的效果主要有:

pageCurl 向上翻一頁

pageUnCurl 向下翻一頁

rippleEffect 滴水效果

suckEffect 收縮效果,如一塊布被抽走

cube 立方體效果

oglFlip 上下翻轉效果

最后再給出一種常用代碼供大家參考。

// Curl the image up or down

CATransition *animation = [CATransition animation];

[animation setDuration:0.35];

[animation setTimingFunction:UIViewAnimationCurveEaseInOut];

if (!curled)

{

//animation.type = @"mapCurl";

animation.type = @"pageCurl";

animation.fillMode = kCAFillModeForwards;

animation.endProgress = 0.99;

} else {

//animation.type = @"mapUnCurl";

animation.type = @"pageUnCurl";

animation.fillMode = kCAFillModeBackwards; animation.startProgress = 0.01;

}

[animation setRemovedOnCompletion:NO];

[view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];

[view addAnimation:animation forKey"pageCurlAnimation"];

// Disable user interaction where necessary

if (!curled) {

}

else {

}

curled = !curled;

更多信息請查看IT技術專欄

更多信息請查看技術文章
下一篇:iOS runtime原理
易賢網手機網站地址:iOS的動畫效果類型及實現方法
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網