CALayer3 層的屬性

2022-05-27 21:09:15 字數 1908 閱讀 3777

* 在前面幾講中已經提到,

每乙個uiview內部都預設關聯著乙個calayer,我們可用稱這個layer為root layer(根層)。所有的非root layer

,也就是手動建立的calayer物件,

都存在著隱式動畫。

* 當對非root layer的部分屬性進行相應的修改時,缺省會自動產生一些動畫效果,這些屬性稱為animatable properties(可動畫屬性)。

* 列舉幾個常見的animatable properties:

比如:假設一開始calayer的position為(100, 100),然後在某個時刻修改為(200, 200),那麼整個calayer就會在短時間內從(100, 100)這個位置平移到(200, 200)

* 我們也可以從官方文件中查詢所有的animatable properties

* position和anchorpoint屬性都是cgpoint型別的

* position可以用來設定calayer在父層中的位置,它是以父層的左上角為座標原點(0, 0)

* anchorpoint稱為"定位點",它決定著calayer身上的哪個點會在position屬性所指的位置。它的x、y取值範圍都是0~1,預設值為(0.5, 0.5)

1 calayer *mylayer =[calayer layer];2//

設定層的寬度和高度(100x100)

3 mylayer.bounds = cgrectmake(0, 0, 100, 100);4

//設定層的位置

5 mylayer.position = cgpointmake(100, 100);6

//設定層的背景顏色:紅色

7 mylayer.backgroundcolor =[uicolor redcolor].cgcolor;89

//新增mylayer到控制器的view的layer中

10 [self.view.layer addsublayer:mylayer];

第5行設定了mylayer的position為(100, 100),又因為anchorpoint預設是(0.5, 0.5),所以最後的效果是:mylayer的中點會在父層的(100, 100)位置

注意,藍色線是我自己加上去的,方便大家理解,並不是預設的顯示效果。兩條藍色線的寬度均為100。

我想,你應該已經明白anchorpoint的用途了吧,它決定著calayer身上的哪個點會在position所指定的位置上。它的x、y取值範圍都是0~1,預設值為(0.5, 0.5),因此,預設情況下,calayer的中點會在position所指定的位置上。當anchorpoint為其他值時,以此類推。

CALayer3 層的屬性

在前面幾講中已經提到,每乙個uiview內部都預設關聯著乙個calayer,我們可用稱這個layer為root layer 根層 所有的非root layer 也就是手動建立的calayer物件,都存在著隱式動畫。當對非root layer的部分屬性進行相應的修改時,缺省會自動產生一些動畫效果,這些...

CALayer3 層的屬性

在前面幾講中已經提到,每乙個uiview內部都預設關聯著乙個calayer,我們可用稱這個layer為root layer 根層 所有的非root layer 也就是手動建立的calayer物件,都存在著隱式動畫。當對非root layer的部分屬性進行相應的修改時,缺省會自動產生一些動畫效果,這些...

CALayer 層的屬性

每乙個uiview內部都預設關聯著乙個calayer,我們可以稱這個layer為root layer 根層 所有的非root layer,也就是手動建立的物件,都存在著隱式動畫。當對非root layer的部分屬性進行相應修改時,缺省會自動產生一些動畫效果,這些屬性稱為 animatable pro...