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