本文**參考自:尊重原創!
1、實現圓弧運動
-(void)changeuiview4
moveanim.values = values;//
用values實現
moveanim.removedoncompletion =yes;
//旋轉變化,scaleanim設定了縮小
cabasicanimation *scaleanim = [cabasicanimation animationwithkeypath:@"
transform"];
scaleanim.fromvalue =[nsvalue valuewithcatransform3d:catransform3didentity];
//x,y軸縮小到0.3,z 軸不變
scaleanim.tovalue = [nsvalue valuewithcatransform3d:catransform3dmakescale(0.3, 0.3, 1.0
)]; scaleanim.removedoncompletion =yes;
//透明度變化,opacityanim設定了透明度的變化
cabasicanimation *opacityanim = [cabasicanimation animationwithkeypath:@"
alpha"];
opacityanim.fromvalue = [nsnumber numberwithfloat:1.0
]; opacityanim.tovalue = [nsnumber numberwithfloat:0.2
]; opacityanim.removedoncompletion =yes;
//關鍵幀,旋轉,透明度組合起來執行
caanimationgroup *animgroup =[caanimationgroup animation];
//陣列[caanimation物件],陣列裡的每個物件同時執行
animgroup.animations =[nsarray arraywithobjects:moveanim, scaleanim,opacityanim, nil];
animgroup.duration = 1
; animgroup.removedoncompletion =no;
animgroup.fillmode =kcafillmodeforwards;
[_imageview.layer addanimation:animgroup forkey:nil];
}
2、旋轉並向右移動
//旋轉並向右移動
- (void
)changeuiview5
向右移動是因為關鍵幀使用了路徑為直線的路徑。沿z軸旋轉是靠transformanim.tovalue = [nsvalue valuewithcatransform3d: catransform3dmakerotation(m_pi,0,0,1)];
3、旋轉並消除邊緣鋸齒
如果你仔細觀察,會看到第二個動畫裡在旋轉時,邊緣是有鋸齒的,如何消除呢?在邊緣新增乙個畫素的透明區域,去鋸齒。
uigraphicsbeginimagecontext 開始內容
uigraphicsgetimagefromcurrentimagecontext 獲取當前內容作為,
uigraphicsendimagecontext結束。是和uigraphicsbeginimagecontext配套使用的。
- (void)changeuiview6
至此,動畫這乙個專題也差不多學完了,為了鞏固和檢查學習效果,我決定在網上找乙個簡單的動畫示例自己模仿著做一做。
Android 動畫 動畫詳解之屬性動畫(五)
在前幾篇中,我們了解了補間動畫 插值器和屬性動畫中的valueanimator,這一篇,我們來了解下屬性動畫中的objectanimator objectanimator是通過指定屬性所對應的set方法來改變的。比如,我們上面指定的改變rotation的屬性值,在做動畫時就會到指定控制項 textv...
iOS 動畫實戰之Lottie動畫
1.作為收藏按鈕,是不是很活潑?2.返回與選單之間的切換,生動有趣 3.還有各種形變動畫.更棒的是,lottie有各種不同的版本,安卓,ios,前端都可以使用,理論上動畫做一套就可以共用,大大的減少了工作量.使用方法 整合環境 移動端同學整合lottie框架,ui ue同學整合ae的bodymovi...
iOS開發 動畫程式設計OC篇 (五)動畫組
一 組動畫簡單說明 caanimation的子類,可以儲存一組動畫物件,將caanimationgroup物件加入層後,組中所有動畫物件可以同時併發執行 屬性解析 animations 用來儲存一組動畫物件的nsarray 預設情況下,一組動畫物件是同時執行的,也可以通過設定動畫物件的beginti...