核心動畫(1)

2021-06-05 17:28:06 字數 1255 閱讀 3476

關於圖層的幾個座標系。

對於ios來說,座標系的(0,0)點在左上角,就是越往下,y值越大。越往右,x值越大。

乙個圖層的frame,它是position,bounds,anchorpoint和transform屬性的一部分。

設定乙個新的frame將會相應的改變圖層的position和bounds,但是frame本身並沒有儲存。

position:是乙個cgpoint值,它指定圖層相當於它父圖層的位置,該值基於父圖層的座標系。

bounds:是乙個cgrect值,指定圖層的大小(bounds.size)和圖層的原點(bounds.origin),這個座標系是基於自身的。如果改變bounds的origin,那麼在該圖層的子圖層,座標會跟著改變。也就是說,改變自身的座標系,本身在父圖層的位置不變,但它上的子圖層位置變化。

anchorpoint:是乙個cgpoint值,它是指定了乙個基於bounds的符合座標系的位置。錨點(anchor point)制定了bounds相對於position的值,同時也作為乙個變化時候的中心點。錨點使用空間座標系取值範圍是0-1之間的數。預設是0.5,也就是禿瓢的中心點,如果是(0,0)那麼,圖層向左上方移動。如果是(1,1)就向右下方移動。

看下面的兩個圖,就能夠夠清晰的看出錨點變化所帶來的不一樣。(此圖為mac os 座標系,如果是ios,那麼(0,0)點在圖的左上方。)

對於anchorpoint的解釋在ios中如圖:

下圖中的紅點位置就是 錨點的位置:預設為(0.5,0.5)。在對影象進行變換時,都是按照這個點來進行縮放,偏移等。

一旦修改錨點的位置為:(0,0),那麼影象就會變成下圖。各種變換就會按照這個點來運動。

所以說,在ios系統中,錨點的座標系是:左上角為(0,0),右下角為(1,1)。

根據此圖,在理解上面的定義,就直觀了一些。

核心動畫 基礎動畫

一.簡單介紹 capropertyanimation的子類 屬性解析 fromvalue keypath相應屬性的初始值 tovalue keypath相應屬性的結束值 隨著動畫的進行,在長度為duration的持續時間內,keypath相應屬性的值從fromvalue漸漸的變為tovalue。如果...

IOS開發核心動畫篇 核心動畫簡介

ios開發ui篇 核心動畫簡介 一 簡單介紹 core animation,中文翻譯為核心動畫,它是一組非常強大的動畫處理api,使用它能做出非常炫麗的動畫效果,而且往往是事半功倍。也就是說,使用少量的 就可以實現非常強大的功能。core animation是跨平台的,可以用在mac os x和io...

核心動畫(2)

圖層的幾何變換。可以通過矩陣來改變乙個圖層的幾何形狀。catransform3d 的資料結構定義了乙個同質的三維變換 4x4 cgfloat值的矩陣 用於圖層的旋轉,縮放,偏移,歪斜和應用的透視。圖層的2個屬性指定了變換矩陣 transform 和 sublayertransform。transfo...