溫馨提示×

溫馨提示×

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

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

核心動畫的接觸點滴(一)

發(fā)布時間:2020-07-06 12:29:51 來源:網(wǎng)絡(luò) 閱讀:241 作者:Jacksun2Coshine 欄目:開發(fā)技術(shù)

        本周項目進展仍然沒有太大變化,于是接著上周未完成的計劃,開始著手對核心動畫開始做學習了解和記錄。

OS開發(fā)UI篇—核心動畫簡介

一、簡單介紹

Core Animation,中文翻譯為核心動畫,它是一組非常強大的動畫處理API,使用它能做出非常炫麗的動畫效果,而且往往是事半功倍。也就是說,使用少量的代碼就可以實現(xiàn)非常強大的功能。

Core Animation是跨平臺的,可以用在Mac OS X和iOS平臺。

Core Animation的動畫執(zhí)行過程都是在后臺操作的,不會阻塞主線程。不阻塞主線程,可以理解為在執(zhí)行動畫的時候還能點擊(按鈕)。

要注意的是,Core Animation是直接作用在CALayer上的,并非UIView。

 

二、Core Animation的使用步驟

1.使用它需要先添加QuartzCore.framework框架和引入主頭文件<QuartzCore/QuartzCore.h>(iOS7不需要)

2.初始化一個CAAnimation對象,并設(shè)置一些動畫相關(guān)屬性

3.通過調(diào)用CALayer的addAnimation:forKey:方法增加CAAnimation對象到CALayer中,這樣就能開始執(zhí)行動畫了

4.通過調(diào)用CALayer的removeAnimationForKey:方法可以停止CALayer中的動畫

 

三、CAAnimation

類的繼承結(jié)構(gòu)圖



核心動畫的接觸點滴(一)


補充說明

所有動畫對象的父類,負責控制動畫的持續(xù)時間和速度,是個抽象類,不能直接使用,應(yīng)該使用它具體的子類

屬性解析:(紅色代表來自CAMediaTiming協(xié)議的屬性)

duration動畫的持續(xù)時間

repeatCount動畫的重復次數(shù)

repeatDuration動畫的重復時間

removedOnCompletion:默認為YES,代表動畫執(zhí)行完畢后就從圖層上移除,圖形會恢復到動畫執(zhí)行前的狀態(tài)。如果想讓圖層保持顯示動畫執(zhí)行后的狀態(tài),那就設(shè)置為NO,不過還要設(shè)置fillMode為kCAFillModeForwards

fillMode決定當前對象在非active時間段的行為.比如動畫開始之前,動畫結(jié)束之后

beginTime可以用來設(shè)置動畫延遲執(zhí)行時間,若想延遲2s,就設(shè)置為CACurrentMediaTime()+2,CACurrentMediaTime()為圖層的當前時間

timingFunction:速度控制函數(shù),控制動畫運行的節(jié)奏

delegate:動畫代理

以上就是核心動畫的基本介紹,后一篇開始對核心動畫的使用做記錄~


向AI問一下細節(jié)

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

AI