每乙個uiview內部都預設關聯著乙個calayer,我們可以稱這個layer為root layer(根層)。所有的非root layer,也就是手動建立的物件,都存在著隱式動畫。
當對非root layer的部分屬性進行相應修改時,缺省會自動產生一些動畫效果,這些屬性稱為 animatable properties(可動畫屬性)。
列舉幾個常見的animatable properties:
bounds:用於設定calayer的寬度和高度,修改這個屬性會產生縮放動畫。
backgroundcolor:用於設定calayer的背景顏色,修改這個屬性會產生背景色漸變的動畫。
position:用於設定calayer的位置,修改這個屬性會產生平移動畫。
我們可以從官網查詢animatable properties:
在搜尋框輸入 「animatable」即可
position 和 anchorpoint
position 和 anchorpoint 的屬性都是cgpoint型別的。
position可以用來設定calayer在父層中的位置,它是以父層的左上角為座標原點(0,0)
anchorpoint 稱為「定位點」。它決定著calayer身上的那個點會在position屬性所指的位置。它的x,y取值範圍都是0~1,預設值為(0.5,0.5)。
建立乙個calayer,新增到控制器view的layer中
calayer
*mylayer = [
calayer
layer];
//設定層的寬度和高度(100*100)
mylayer.bounds = cgrectmake(0, 0, 100, 100);
//設定層的位置
mylayer.position = cgpointmake(100, 100);
//設定層的背景顏色:red
mylayer.backgroundcolor= [uicolor
redcolor
].cgcolor;
//新增mylayer到控制器的view的layer中
[self.view.layer
addsublayer:mylayer];
因為mylayer的position為(100,100),anchorpoint預設值為(0.5,0.5)。所以最後的效果是mylayer的中點在父層的(100,100)位置。
(*藍色線是自己加上去的。*)
若將anchorpoint值改為(0,0),mylayer的左上角會在(100,100)位置。
若將anchorpoint值改為(1,1),mylayer的右下角會在(100,100)位置。
若將anchorpoint值改為(0,1),mylayer的左下角會在(100,100)位置。
anchorpoint 決定著calayer身上的哪個點會在position所指定的位置上。
CALayer層的屬性
一.position和anchorpoint 1.簡單介紹 calayer有2個非常重要的屬性 position和anchorpoint position 1 用來設定calayer在父層中的位置 2 以父層的左上角為原點 0,0 anchorpoint 1 稱為 定位點 錨點 2 決定著calay...
CALayer 層的屬性
本文目錄 回到頂部 在前面幾講中已經提到,每乙個uiview內部都預設關聯著乙個calayer,我們可用稱這個layer為root layer 根層 所有的非root layer 也就是手動建立的calayer物件,都存在著隱式動畫。當對非root layer的部分屬性進行相應的修改時,缺省會自動產...
CALayer3 層的屬性
在前面幾講中已經提到,每乙個uiview內部都預設關聯著乙個calayer,我們可用稱這個layer為root layer 根層 所有的非root layer 也就是手動建立的calayer物件,都存在著隱式動畫。當對非root layer的部分屬性進行相應的修改時,缺省會自動產生一些動畫效果,這些...