IOS動畫

我也是看了http://d.cocoachina.com/code/detail/290546 上面的例子,然后自己運(yùn)行總結(jié)的。如有不對的地方還請指出。

UIView的基本動畫

[UIViewanimateWithDuration:1.fanimations:^

{

self.demoImgView.transform=CGAffineTransformMakeRotation(M_PI/2);//順時(shí)針旋轉(zhuǎn)180度

}

completion:^(BOOLfinished)

{

self.demoImgView.transform=CGAffineTransformIdentity;//清除以前的動畫設(shè)置雖然旋轉(zhuǎn)了180度,最后還是回到原來的位置

}];

CABasicAnimation動畫

CABasicAnimation*rotation = [CABasicAnimationanimationWithKeyPath:@"transform.rotation"];

rotation.fromValue=@(0); rotation.toValue=@(M_PI);//180度

rotation.duration=5.f; rotation.repeatCount=0;

rotation.timingFunction= [CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionLinear];

rotation.fillMode=kCAFillModeForwards;//fillModeremovedOnCompletion屬性是要一起用才有效果的他們是控制動畫結(jié)束之后位置的。rotation.removedOnCompletion=YES回到最初動畫開始位置,rotation.removedOnCompletion = NO;動畫結(jié)束的位置在哪就在那

rotation.removedOnCompletion=NO;

//self.demoImgView.transform = CGAffineTransformMakeRotation(M_PI*2);//動畫完了之后停留的位置,

[self.demoImgView.layeraddAnimation:rotationforKey:@"an_roate"];


繞X軸旋轉(zhuǎn)的動畫

CABasicAnimation*TransformAnim = [CABasicAnimationanimationWithKeyPath:@"transform"];

TransformAnim.fromValue= [NSValuevalueWithCATransform3D:CATransform3DIdentity];

TransformAnim.toValue= [NSValuevalueWithCATransform3D:CATransform3DMakeRotation(M_PI,1,0,0)];

TransformAnim.duration=3;

TransformAnim.cumulative=NO;//cumulativerepeatCount這二個(gè)屬性也是有關(guān)聯(lián)的repeatCount是重復(fù)的次數(shù)。cumulative=YES的話,從上一次動畫結(jié)束的位置繼續(xù)動畫。cumulative=NO的話又回到最開始的位置再次動畫。

TransformAnim.repeatCount=2;

[self.demoImgView.layeraddAnimation:TransformAnimforKey:nil];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容