uiview類的很多屬性都設計為動畫,動畫的屬性是指當屬性從乙個值變成另外乙個值時可以支援動畫,同時通知uikit需要執行什麼樣型別的動畫,uiview物件支援動畫的屬性有如下幾個:
frame屬性:可以使用該屬性改變尺寸和位置
bounds:改變尺寸
center:改變檢視的位置
alpha:改變檢視的透明度
backgroundcolor:改變檢視的背景
contentstretch:改變檢視內容如何拉伸
ios封裝了core animation來是實現動畫,core animation的最大好處是可以幫助mac或者iphone的開發者減少**量。因為如果你想用core image或者open gl實現介面的動畫特效,其實也是可以的,主要是非常麻煩。而用core animation可以極大簡化開發難度和減少**量,ios提供的核心動畫程式設計介面,可以讓程式設計人員以非常簡單的方式實現炫目流暢的動畫效果
翻轉的動畫
//開始動畫
[uiview beginanimations:@"wap view" context:nil];
//設定時常
[uiview setanimationduration:1];
//設定動畫淡入淡出
[uiview setanimationcurve:uiviewanimationcurveeaseinout];
//設定**
[uiview setanimationdelegate:self];
//設定翻轉方向
[uiview setanimationtransition: uiviewanimationtransitionflipfromleft forview:manimageview cache:yes];
//動畫結束
[uiview commitanimations];
旋轉動畫
建立乙個cgaffinetransform transform物件 cgaffinetransform transform;
//設定旋轉度數
transform = cgaffinetransformrotate(manimageview.transform,m_pi/6.0);
//動畫開始
[uiview beginanimations:@"rotate" context:nil ];
//動畫時常
[uiview setanimationduration:2];
//新增**
[uiview setanimationdelegate:self];
//獲取transform的值
[manimageview settransform:transform];
//關閉動畫
[uiview commitanimations];
偏移動畫
[uiview beginanimations:@"move" context:nil];
[uiview setanimationduration:2];
[uiview setanimationdelegate:self]; //改變它的frame的x,y的值 manimageview.frame=cgrectmake(100,100, 120,100);
[uiview commitanimations];
翻頁動畫
[uiview beginanimations:@"curlup" context:nil];
[uiview setanimationcurve:uiviewanimationcurveeaseinout];//指定動畫曲線型別,該列舉是預設的,線性的是勻速的
//設定動畫時常 [uiview setanimationduration:1];
[uiview setanimationdelegate:self]; //設定翻頁的方向
[uiview setanimationtransition:uiviewanimationtransitioncurlup forview:manimageview cache:yes];
//關閉動畫
[uiview commitanimations];
縮放動畫
cgaffinetransform transform;
transform = cgaffinetransformscale(manimageview.transform,1.2,1.2);
[uiview beginanimations:@"scale" context:nil];
[uiview setanimationduration:2];
[uiview setanimationdelegate:self];
[manimageview settransform:transform];
[uiview commitanimations];
取反的動畫效果是根據當前的動畫取他的相反的動畫
cgaffinetransform transform;
transform=cgaffinetransforminvert(manimageview.transform);
[uiview beginanimations:@"invert" context:nil];
[uiview setanimationduration:2];//動畫時常
[uiview setanimationdelegate:self];
[manimageview settransform:transform];//獲取改變後的view的transform [uiview commitanimations];//關閉動畫
UIView 的各種動畫效果
最普通動畫 開始動畫 uiview beginanimations nil context nil 設定動畫持續時間 uiview setanimationduration 2 動畫的內容 frame.origin.x 150 img setframe frame 動畫結束 uiview commi...
UIView 實現動畫
動畫為使用者介面在不同狀態之間的遷移過程提供流暢的視覺效果。在iphone 類中,以簡化動畫的建立過程。也就是說,當這些屬性值發生變化時,檢視為其變化過程提供內建的動畫支援。雖然執行動畫所需要的工作由uiview類自動完成,但您仍然必須在希望執行動畫時通知檢視。為此,您需要將改變給定屬性的 包裝在乙...
iOS 動畫 UIView動畫
viewcontroller.m ui 23 動畫 import viewcontroller.h inte ce viewcontroller property strong,nonatomic iboutlet uiview opeview1 property strong,nonatomic ...