一.position和anchorpoint
1.簡單介紹
calayer有2個非常重要的屬性:position和anchorpoint
position:
(1)用來設定calayer在父層中的位置
(2)以父層的左上角為原點(0,0)
anchorpoint:
(1)稱為」定位點」,」錨點」
(2)決定著calayer身上的哪個點會在position屬性所指的位置
(3)以自己的左上角為原點(0,0)
(4)它的x,y取值範圍都是0~1,預設值為(0.5,0.5)
2.圖示
anchorpoint
它的取值為0~1
紅色圖層的anchorpoint為(0,0)
紅色圖層的anchorpoint為(0.5,0.5)
紅色圖層的anchorpoint為(1,1)
紅色圖層的anchorpoint為(0.5,0)
position和anchorpoint
新增乙個紅色圖層到綠色圖層上,紅色圖層顯示到什麼位置,由position屬性決定
假設紅色圖層的position是(100,100)
到底把紅色圖層的哪個點移動到(100,100)的座標位置,錨點。
紅色圖層的錨點是(0,0)
紅色圖層的錨點是(0.5,0.5)
紅色圖層的錨點是(1,1)
紅色圖層的錨點是(0.5,0)
3.**示例
(1)沒有設定錨點。預設的錨點位置為(0.5,0.5)
@implementation
viewcontroller
- (void)viewdidload
- (void)didreceivememorywarning
@end
(2)設定錨點為(0,0)
@implementation
viewcontroller
- (void)viewdidload
- (void)didreceivememorywarning
@end
二.隱式動畫1.簡單說明
每乙個uiview內部都預設關聯著乙個calayer,我們稱這個layer為root layer(根層)。
所有的非root layer,也就是手動建立的calayer物件,都存在著隱式動畫
什麼是隱式動畫?
當對非root layer的部分屬性進行修改時,缺省會自動產生一些動畫效果。
而這些屬性稱為animatable properties(可動畫屬性)。
舉例幾個常見的可動畫屬性
(1)bounds:用於設定calayer的寬度和高度。修改這個屬性會產生縮放動畫
(2)backgroudcolor:用於設定calayer的背景色。修改這個屬性會產生背景色的漸變動畫。
(3)position:用於設定calayer的位置。修改這個屬性會產生平移動畫。
2.**示例
@implementation
viewcontroller
- (void)viewdidload
- (void)didreceivememorywarning
- (void)touchesbegan:(nsset*)touches withevent:(uievent *)event
@end
關閉隱式動畫
//關閉隱式動畫
[catransaction begin];
[catransaction setdisableactions:yes];
//隱式動畫
_mylayer.bounds = cgrectmake(0, 0, 200, 60);
_mylayer.backgroundcolor = [uicolor yellowcolor].cgcolor;
[catransaction commit];
CALayer 層的屬性
每乙個uiview內部都預設關聯著乙個calayer,我們可以稱這個layer為root layer 根層 所有的非root layer,也就是手動建立的物件,都存在著隱式動畫。當對非root layer的部分屬性進行相應修改時,缺省會自動產生一些動畫效果,這些屬性稱為 animatable pro...
CALayer 層的屬性
本文目錄 回到頂部 在前面幾講中已經提到,每乙個uiview內部都預設關聯著乙個calayer,我們可用稱這個layer為root layer 根層 所有的非root layer 也就是手動建立的calayer物件,都存在著隱式動畫。當對非root layer的部分屬性進行相應的修改時,缺省會自動產...
CALayer3 層的屬性
在前面幾講中已經提到,每乙個uiview內部都預設關聯著乙個calayer,我們可用稱這個layer為root layer 根層 所有的非root layer 也就是手動建立的calayer物件,都存在著隱式動畫。當對非root layer的部分屬性進行相應的修改時,缺省會自動產生一些動畫效果,這些...