溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

動(dòng)畫(huà)淺析-CAAnimation和CATransition

發(fā)布時(shí)間:2020-07-13 07:19:55 來(lái)源:網(wǎng)絡(luò) 閱讀:739 作者:劉軼薈 欄目:開(kāi)發(fā)技術(shù)

動(dòng)畫(huà)淺析-CAAnimation和CATransition




標(biāo)簽:

caanimation

catransition

ios動(dòng)畫(huà)


現(xiàn)在明白了,要做動(dòng)畫(huà)。需要用到CATransition類!

那就學(xué)習(xí)一下吧!


先貼一個(gè)入門(mén)代碼!

[_imgPic setImage:p_w_picpath];// 設(shè)置新的圖片

       

      

      CATransition *animation = [CATransition animation];

      [animationsetDuration:1.0];

      [animationsetFillMode:kCAFillModeForwards];

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

      [animationsetType:@"rippleEffect"];// rippleEffect

      [animationsetSubtype:kCATransitionFromTop];

      [_imgPic.layer addAnimation:animation forKey:nil];


實(shí)現(xiàn)功能就是,在UIImageView換新圖片的時(shí)候,做相應(yīng)的動(dòng)畫(huà)效果!好讓,UIImageView轉(zhuǎn)化時(shí),不至于太單調(diào)!


第一句,就讓我很困惑!

CATransition *animation = [CATransition animation];

+ (id)animation方法

創(chuàng)建一個(gè)CATransition對(duì)象。但是CATransition并沒(méi)有animation方法?!


@interface CATransition :CAAnimation


原來(lái)如此,CATransitionCAAnimation的子類


騎驢看唱本吧!


CAAnimation


CAAnimation類,是一個(gè)抽象類。遵循CAMediaTiming協(xié)議和CAAction協(xié)議!


CAAnimation is an abstract animation class. It provides the basic support for the CAMediaTiming and CAActionprotocols.


CAMediaTiming協(xié)議

可以調(diào)整時(shí)間,包括持續(xù)時(shí)間,速度,重復(fù)次數(shù)。

CAAction協(xié)議

可以通過(guò)響應(yīng)動(dòng)作的方式來(lái)顯示動(dòng)畫(huà)。


CAAnimation有很多派生類

 

CATransition提供漸變效果:(推拉push效果,消退fade效果,揭開(kāi)reveal效果)。

 

CAAnimationGroup允許多個(gè)動(dòng)畫(huà)同時(shí)播放。

 

CABasicAnimation提供了對(duì)單一動(dòng)畫(huà)的實(shí)現(xiàn)。

 

CAKeyframeAnimation關(guān)鍵楨動(dòng)畫(huà),可以定義行動(dòng)路線。

 

CAConstraint約束類,在布局管理器類中用它來(lái)設(shè)置屬性。

 

CAConstraintLayoutManager約束布局管理器,是用來(lái)將多個(gè)CALayer進(jìn)行布局的.各個(gè)CALayer是通過(guò)名稱來(lái)區(qū)分,而布局屬性是通過(guò)CAConstraint來(lái)設(shè)置的。

 

CATransaction事務(wù)類,可以對(duì)多個(gè)layer的屬性同時(shí)進(jìn)行修改.它分隱式事務(wù),和顯式事務(wù)。

 CAAnimation屬性

delegate

@property(retain) id delegate

為CAAnimation設(shè)置代理。默認(rèn)為nil。

注意:一個(gè)CAAnimation實(shí)例,不能設(shè)置delegate為self。會(huì)引起循環(huán)引用。


removedOnCompletion

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI