iPhone的動畫效果型別及實現方法

2022-07-18 15:39:35 字數 1970 閱讀 8913

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

一種是uiview層面的,

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

cpp** 

[uiview beginanimations:@

"curl"

context:nil];

//動畫開始 

[uiview setanimationduration:0.75];   

[uiview setanimationdelegate:self];  

[uiview setanimationtransition:uiviewanimationtransitioncurlup forview:myview cache:yes];   

[myview removefromsuperview];   

[uiview commitanimations];  

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

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

cpp** 

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"

];  

[animation settype:@"suckeffect"];

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

pagecurl 向上翻一頁pageuncurl 向下翻一頁
rippleeffect 滴水效果
suckeffect 收縮效果,如一塊布被抽走
cube 立方體效果
oglflip 上下翻轉效果
更多的效果參考:

//建立catransition物件

catransition*animation = [catransitionanimation

];//相關引數設定

[animation setdelegate:self];

[animation setduration:1.0f];

[animation settimingfunction:uiviewanimationcurveeaseinout];

//向上捲的引數

if(!iscurl)

//向下卷的引數

else

//卷的過程完成後停止,並且不從層中移除動畫

[animation

setfillmode

:kcafillmodeforwards];

//[animation setsubtype:kcatransitionfrombottom];

[animation

setsubtype

:kcatransitionfromright];

[animation setremovedoncompletion:

no];

iscurl=!iscurl;

[self

.viewexchangesubviewatindex:

0withsubviewatindex:1];

[[self

.viewlayer] addanimation:animation forkey:

@"pagecurlanimation"

];

iphone的動畫效果型別及實現方法

實現iphone漂亮的動畫效果主要有兩種方法,一種是uiview層面的,一種是使用catransition進行更低層次的控制,uiview beginanimations curl context nil 動畫開始 uiview setanimationduration 0.75 uiview se...

iOS的動畫效果型別及實現方法

實現ios漂亮的動畫效果主要有兩種方法,一種是uiview層面的,一種是使用catransition進行更低層次的控制,uiview beginanimations curl context nil 動畫開始 uiview setanimationduration 0.75 uiview setan...

iOS的動畫效果型別及實現方法

實現ios漂亮的動畫效果主要有兩種方法,一種是uiview層面的,一種是使用catransition進行更低層次的控制,uiview beginanimations curl context nil 動畫開始 uiview setanimationduration 0.75 uiview setan...