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

2021-06-21 22:31:55 字數 1664 閱讀 9021

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

一種是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)

else  

[animation setremovedoncompletion:no];

[view exchangesubviewatindex:0 withsubviewatindex:1]; 

[view addanimation:animation forkey"pagecurlanimation"]; 

// disable user interaction where necessary 

if (!curled)  

else  

curled = !curled;

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...

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

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