了解了圖層,現在學習核心動畫。
core animation是直接作用在calayer上的,並非uiview。
一、使用步驟
1.使用它需要先新增quartzcore.framework框架和引入主標頭檔案(ios7不需要)
2.初始化乙個caanimation物件,並設定一些動畫相關屬性
3.通過呼叫calayer的addanimation:forkey:方法增加caanimation物件到calayer中,這樣就能開始執行動畫了
4.通過呼叫calayer的removeanimationforkey:方法可以停止calayer中的動畫
二、結構繼承關係
caanimation是所有動畫類的父類,但是它不能直接使用,應該使用它的子類。
capropertyanimation是caanimation的子類,但是不能直接使用,要想建立動畫物件,應該使用它的兩個子類:cabasicanimation和cakeyframeanimation
它有個nsstring型別的keypath屬性,你可以指定calayer的某個屬性名為keypath,並且對calayer的這個屬性的值進行修改,達到相應的動畫效果。
1.能用的動畫類只有4個子類:cabasicanimation、cakeyframeanimation、catransition、caanimationgroup
2.camediatiming是乙個協議(protocol)
三、常見屬性
duration:動畫的持續時間
repeatcount:動畫的重複次數
repeatduration:動畫的重複時間
removedoncompletion:預設為yes,代表動畫執行完畢後就從圖層上移除,圖形會恢復到動畫執行前的狀態。如果想讓圖層保持顯示動畫執行後的狀態,那就設定為no,不過還要設定fillmode為kcafillmodeforwards
fillmode:決定當前物件在非active時間段的行為.比如動畫開始之前,動畫結束之後
begintime:可以用來設定動畫延遲執行時間,若想延遲2s,就設定為cacurrentmediatime()+2,cacurrentmediatime()為圖層的當前時間
timingfunction:速度控制函式,控制動畫執行的節奏
delegate:動畫**
參考:
Core Animation動畫概述
core animation動畫概述 1 概述 在ios中,圖形可分為以下幾個層次 越上層,封裝程度越高,動畫實現越簡潔越簡單,但是自由度越低。本文著重介紹core animation層的動畫實現方案。2 動畫概念類 在ios中,展示動畫可以模擬於顯示生活中的 拍電影 拍電影有三大要素 演員 劇本 ...
IOS動畫Core Animation詳解
在ios中如果使用普通的動畫則可以使用uikit提供的動畫方式來實現,如果想實現更複雜的效果,則需要使用core animation了。下面詳解各種型別動畫的使用方式 plain view plain copy void animationofuikit plain view plain copy ...
IOS動畫Core Animation詳解
在ios中如果使用普通的動畫則可以使用uikit提供的動畫方式來實現,如果想實現更複雜的效果,則需要使用core animation了。下面詳解各種型別動畫的使用方式 plain view plain copy void animationofuikit plain view plain copy ...