iOS開發學習之簡單動畫

2021-07-09 22:39:27 字數 3070 閱讀 6893

原文

一、uiactivityindicatorview

1⃣️屬性  

-isanimating屬性判斷是否正在動畫

2⃣️第三方庫svprogresshud

[svprogresshud dismiss]

[svprogresshud showwithstatus:@「網路載入中」 masktype:svprogresshudmashtypegradient];(後面的引數是否遮擋,可以不用)

3⃣️  nstimer

[nstimer scheduledtimerwithtimeinterval:1 target:2 selector:3 userinfo:4 repeats:5];

1.時間間隔 2.self 3.觸發時呼叫的方法 4.使用者資訊 5.是否重複

[timer invalidate];

- (void

)touchesbegan:(nsset *)touches withevent:(uievent *)event

else}//

nstimer呼叫方法的引數,只能是nstimer,使用引數,在當前示例中,就不需要使用成員變數了

- (void

)updatetimer:(nstimer *)timer

二、uiimageview的序列幀動畫 

1⃣️屬性說明

-animationimages:要顯示的一**盤

-animationduration:顯示所有需要的時間(如果中間由修改速度,需要先停止、設定、開始)

-animationrepeatcount:動畫的執行次數

2⃣️相關方法

--(void)startanimating;

--(void)stopanimating

--(void)isanimating;

1.趙雲動畫

//

建立趙雲的序列幀動畫

- (void

)createzhaoyunimage

[_zhaoyunimage setimage:images[

0]];

//設定影象陣列

[_zhaoyunimage setanimationimages:images];

//[_zhaoyunimage setanimationduration:1.0f

];//

開始動畫

[_zhaoyunimage startanimating];

}- (void

)touchesbegan:(nsset *)touches withevent:(uievent *)event

else

}

2.燕子動畫

#pragma

mark - 拖拽燕子

- (void

)dragbird:(uipangesturerecognizer *)sender

else

if (sender.state ==uigesturerecognizerstateended) }//

設定燕子的序列幀動畫,並設定燕子的拖拽手勢監聽

- (void

)createbirdimage

三、uiview動畫 

四、時鐘動畫(cadisplaylink)

-是一種以螢幕重新整理螢幕觸發的時鐘機制,每秒鐘執行大約60次

-倒入quartzcore框架

1⃣️使用方法

-定義cadisplaylink並制定觸發呼叫方法

-將顯示鏈結新增到主執行迴圈佇列

2⃣️兩種判斷時間間隔的方法

-以成員變數的方式判斷

-以全域性變數的方式判斷

@inte***ce

viewcontroller ()

@end

@implementation

viewcontroller

#pragma

mark - 使用指定時間處理cadisplaylink觸發時間的方法(1)

- (void

)updatetimer:(cadisplaylink *)sender

//時鐘觸發的時間差值

cftimeinterval deltatime = sender.timestamp -_starttime;

if (deltatime > 1.0) }

#pragma

mark - 使用指定時間處理cadisplaylink觸發時間的方法(2)

- (void

)step

steps++;

}- (void

)viewdidload

3⃣️使用步驟

方法1:

-初始化乙個遊戲時鐘,並且加入主佇列中

-自己制定時間間隔,去執行操作

1.需要乙個成員變數,記錄時鐘起始的「時間點」:cftimeinterval _starttime;

2.計算成員變數去與時鐘觸發時的時間差,如果大於制定的時間差,再去執行操作

方法2:

-定義乙個全域性的每秒中執行的次數

-如果執行了這個次數,就執行要執行的操作 

steps = 0;//

初始化雪花影象

_snowimage = [uiimage

imagenamed:

@"/images/素材/雪花"];

//初始化時鐘

_gametimer =[cadisplaylink

displaylinkwithtarget:

self

selector:

@selector(step)];

[_gametimer addtorunloop:[nsrunloop mainrunloop] formode:

nsdefaultrunloopmode];

#pragma mark - 時鐘處理方法

- (void

)step

completion:^(bool finished) ];

}}

iOS開發 簡單動畫筆記

今天因為工作需要,所以在ios試著做一些動畫特效 1.在簡單動畫中,要寫在兩行 之間 uiview beginanimations nilcontext null 動畫 在這裡裡面 uiview commitanimations 關於這兩行 我發現這兩行 關係到新的執行緒 在這兩行 之間的 可能還沒...

iOS 學習總結之動畫

objc view plain copy uiview的,翻轉 旋轉,偏移,翻頁,縮放,取反的動畫效果 翻轉的動畫 開始動畫 uiviewbeginanimations doflip context nil 設定時常 uiviewsetanimationduration 1 設定動畫淡入淡出 uiv...

ios 學習總結之動畫

uiview的,翻轉 旋轉,偏移,翻頁,縮放,取反的動畫效果 翻轉的動畫 開始動畫 uiview beginanimations doflip context nil 設定時常 uiview setanimationduration 1 設定動畫淡入淡出 uiview setanimationcur...