Core Animation之基礎介紹

2021-09-23 21:33:31 字數 1362 閱讀 6825

了解了圖層,現在學習核心動畫。

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 ...