關於動畫CALayer

2021-08-14 02:20:33 字數 1738 閱讀 1558

//建立

calayer *layer = [calayer layer];

//尺寸(預設和控制項一樣大)

layer.frame = cgrectmake(50, 50, 200, 200);

//顏色(預設是透明的)

layer.backgroundcolor = [uicolor redcolor].cgcolor;

//設定圖層

//layer只能新增在layer上面

[self

.view

.layer addsublayer:layer];

給圖層新增動畫,實現一些效果

//x軸是上下翻轉

//y軸是左右翻轉

//z軸是中心轉

self.testimageview.layer.transform = catransform3dmakerotation(m_pi, 1,1, 0);

//縮放

self.testimageview.layer.transform = catransform3dmakescale(0.5, 0.5, 1);

//利用kvc做縮放

//注:給物件的哪個屬性賦值,就寫到keypath裡面

//注:value的值一定是屬性的型別才行

//kvc的好處:利用kvc可以快速的進行二維旋轉和,寬,高同時縮放

[self.testimageview.layer setvalue:@0.5 forkeypath:@"transform.scale"];

//利用kvc做旋轉

[self.testimageview.layer setvalue:@0.5 forkeypath:@"transform.rotation"];

anchorpoint(定位點、錨點)

關於anchorpoint的示意圖

關於position 和anchorpoint的示意圖

藍色圖層在紅色圖層上面,藍色圖層的position是(100,100)

1、當藍色圖層的anchorpoint是(0,0)時

2、當藍色圖層的anchorpoint是(0.5,0.5)時

3、當藍色圖層的anchorpoint是(1,1)時

4、當藍色圖層的anchorpoint是(0.5,0)時

核心動畫CALayer

1.我們來簡單了解一下calayer的基本概念 calayer是核心動畫的基礎,可以做圓角 陰影 邊框等效果 每個uiview內部都有乙個layer的屬性 uiview可以響應事件,而calayer只負責顯示 在實現核心動畫時,本質上是將calayer中的內容轉換成位圖,從而便於圖形硬體的 操縱 2...

核心動畫 CALayer簡介

在ios中看得見摸得著的東西基本上都是uiview,而uiview之所以能看得見摸得著就是因為他有乙個層 calayer property nonatomic,readonly,strong calayer layer 在建立uiview物件時,uiview內部會自動建立乙個層 即calayer物件...

自定義CALayer動畫

當我們需要區實現乙個layer的時候,並且需要為其新增乙個屬性動畫的時候,我們需要有這麼幾步操作 首先,我們需要去繼承乙個calayer類,同時實現以下的幾個方法 bool needsdisplayforkey nsstring key 方法來判斷當前屬性改變是否需要重新繪製。如果想實現自定義動畫就...