功能:在乙個頁面上顯示按鈕的規律性移動
步驟:1.定義5個按鈕在介面的外部
2.定義乙個計時器根據時間間隔調整按鈕的座標,由於按鈕的初始位置和要移動的位置不在同乙個函式內,所以需要把按鈕存放在乙個陣列內,把陣列定義成全域性變數進行呼叫
3.寫乙個實現動畫的方法-(void)animal裡面實現的內容是根據定時器呼叫不斷重新整理按鈕的位置在特定的時間
4.由於按鈕移動具有規律性,所以需要判定是否是單行按鈕還是雙行按鈕,功能需要先移動單行再移動雙行,這就需要給函式傳遞乙個bool型引數來設定是否移動,移動效果由幾次不停改變座標完成所以需要知道每次移動的座標 如int singlerow[5]=;這是需要做的是寫乙個含有bool型引數和記錄座標的引數改變按鈕座標,座標位置可根據移動的次數呼叫陣列的元素。如:-(void)chagebtn:(bool)issingle andcishu:(nsinteger)cishu
5.-(void)chagebtn:(bool)issingle andcishu:(nsinteger)cishu 在該函式中判斷是否是單行,若是則改變座標!改變單行的座標寫乙個if語句判斷是單行則改變 ,雙行同樣,提交動畫效果就可以了
#import "viewcontroller.h"
@inte***ce
viewcontroller()
@end
@implementation viewcontroller
- (void)viewdidload
else
[button setbackgroundimage:img forstate:uicontrolstatenormal];
[self.view
addsubview:button];
[btnarr
addobject:button];
}timer
=[nstimer
scheduledtimerwithtimeinterval:
0.1target:
self
selector:
@selector
(animal) userinfo:
nilrepeats:
yes]; }
-(void)animal
else
if(ci==15)
else
if(ci==17)
else
if(ci==19)
else
if(ci==23)
else
if(ci==25)
else
if(ci==27)
else
if(ci==29)
}-(void)movebutton:(bool)issingle cishu:(nsinteger)cishu
;int doublerow[4]=;
//動畫屬性
[uiview
beginanimations:
@"ddd"
context:
nil];
//設定動畫
ddd為動畫名稱 [
uiview
setanimationduration:
0.1];
//定義動畫持續時間 [
uiview
setanimationcurve:uiviewanimationcurveeasein]; [
uiview
setanimationdelegate:
self
];
//設定動畫的** [
uiview
setanimationsenabled:
yes];
//設定動畫將要開始執行的方法
if (issingle)}}
else }
}[uiview
commitanimations];
//提交動畫 }
- (void)didreceivememorywarning
@end
#import
@inte***ce viewcontroller : uiviewcontroller
@end
iOS 動畫 UIView動畫
viewcontroller.m ui 23 動畫 import viewcontroller.h inte ce viewcontroller property strong,nonatomic iboutlet uiview opeview1 property strong,nonatomic ...
iOS 動畫總結 UIView動畫
1.概述 uikit直接將動畫整合到uiview類中,實現簡單動畫的建立過程。uiview類定義了幾個內在支援動畫的屬性宣告,當這些屬性發生改變時,檢視為其變化過程提供內建的動畫支援。執行動畫所需要的工作由uiview類自動完成,但仍要在希望執行動畫時通知檢視,為此需要將改變屬性的 包裝到乙個 塊中...
iOS 動畫總結 UIView動畫
1.概述 uikit直接將動畫整合到uiview類中,實現簡單動畫的建立過程。uiview類定義了幾個內在支援動畫的屬性宣告,當這些屬性發生改變時,檢視為其變化過程提供內建的動畫支援。執行動畫所需要的工作由uiview類自動完成,但仍要在希望執行動畫時通知檢視,為此需要將改變屬性的 包裝到乙個 塊中...