iOS開發有關Core Animation的介紹

2021-07-10 08:17:36 字數 1878 閱讀 4257

在ios中如果使用普通的動畫則可以使用uikit提供的動畫方式來實現,如果想實現更複雜的效果,則需要使用core animation了。接下來我將簡單介紹一下有關core animation我自己的理解

在ios中,圖形可分為以下幾個層次:

越上層,封裝程度越高,動畫實現越簡潔越簡單,但是自由度越低;反之亦然。本文著重介紹core animation層的基本動畫實現方案。

在ios中,展示動畫可以模擬於顯示生活中的「拍電影」。拍電影有三大要素:演員+劇本+開拍,概念模擬如下:

演員--->calayer,規定電影的主角是誰

劇本--->caanimation,規定電影該怎麼演,怎麼走,怎麼變換

開拍--->addanimation,開始執行

一、概念介紹

1.1calayer是什麼呢?

calayer是個與uiview很類似的概念,同樣有layer,sublayer...,同樣有backgroundcolor、frame等相似的屬性,我們可以將uiview看做一種特殊的calayer,只不過uiview可以響應事件而已。一般來說,layer可以有兩種用途,二者不互相衝突:一是對view相關屬性的設定,包括圓角、陰影、邊框等引數,更詳細的引數這裡

;二是實現對view的動畫操控。因此對乙個view進行core animation動畫,本質上是對該view的.layer進行動畫操縱。

1.2caanimation是什麼呢?

caanimation可分為四種:

二、動手幹活

實踐出真知,看個例子就知道:

比如我們想實現乙個類似心跳的縮放動畫可以這麼做,分為演員初始化、設定劇本、電影開拍三個步驟:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

- (void)initscalelayer

12

3

4

5

- (void)viewdidload

此外,我們還可以利用groupanimation實現多種動畫的組合,在groupanimation中的各個動畫型別是同時進行的。

附:

讀ios開發有感 建立APP開發體系

二 基礎模組 圖源自戴銘專欄 三 應用開發模組 需要關注一些經典庫,選對正確的工具。以ios的庫為例,可將知識分為以下幾塊 圖源自戴銘專欄 四 原理模組 任何語言 系統和領域裡的底層原理都是通用的。圖源自戴銘專欄 五 原生與前端 各種跨端方案的繁榮,歸根結底在於其背後直譯器和渲染技術的進步。圖源自戴...

ubuntu下與C C 開發有關軟體包

c c 編譯器和基本庫和常用工具 gcc系列 build essential 軟體包安裝了gcc,g 編譯器以及相關的標準庫,同時還安裝了gnu make和dpkg dev.tk gnome開發環境 庫 ide 工具 如果只想進行gtk開發 軟體包 基本開發環境 libgtk2.0 dev 文件 l...

IOS 有關藍芽的開發

首先推薦去看官方文件哦 最近做一專案,本來藍芽通訊這塊不是我負責的,但是負責這塊的同事要走,只好咬咬牙學習了。嗚嗚嗚。現將建立藍芽工程的要點總結一下,由於工程主要涉及中心模式,所以只總結中心模式的用法 1,引入corebluetooth.framework 2,實現藍芽協議,如 h檔案如下 prot...