iOS開發基礎 CALayer的使用

2021-07-10 17:48:56 字數 1950 閱讀 7020

//calayer 層(圖層)

//每個view(檢視)都附著在乙個層上 通過改變這個層 可以改變view的形狀、邊框、顏色等等

uiview *redview = [[uiview alloc]initwithframe:cgrectmake(100, 100, 100, 100)];

//設定錨點 即中心點

cell.layer.anchorpoint = cgpointmake(0, 0);

redview.backgroundcolor = [uicolor redcolor];

//calayer view的屬性 修改view的圓角

redview.layer.cornerradius = 20;

//設定邊框寬度

redview.layer.borderwidth = 8.f;

//設定邊框顏色 顏色的cgcolor

redview.layer.bordercolor = [uicolor greencolor].cgcolor;

//剪下超出的部分

redview.layer.maskstobounds = yes;

//設定圓頭像

uiimageview *imagev = [[uiimageview alloc]initwithframe:cgrectmake(100, 220, 100, 100)];

imagev.image = [uiimage imagenamed:@"image1"];

self.view.backgroundcolor = [uicolor bluecolor];

imagev.layer.cornerradius = 50;

imagev.layer.maskstobounds = yes;

[self.view addsubview:redview];

[self.view addsubview:imagev];

//動畫

//caanimation動畫類  建立按乙個動畫

caanimation *anima = [caanimation animation];

//caanimation 的子類 catransition

catransition *tans = [catransition animation];

//選擇動畫的型別

tans.type = @"fade";

//動畫的方向

tans.subtype = @"fromright";

//動畫的時間

tans.duration = 2.0;

//動畫的次數

tans.repeatcount = 2;

//在layer層上新增動畫

//[redview.layer addanimation:tans forkey:@"key1"];

//移除layer層的動畫

//[redview.layer removeanimationforkey:@"key1"];

//三維動畫

cabasicanimation *baanima = [cabasicanimation animationwithkeypath:@"transform"];

//第乙個引數:角度 x x軸 y y軸 z z軸

nsvalue *value = [nsvalue valuewithcatransform3d:catransform3dmakerotation(3.14, 2, 1, 0)];

baanima.tovalue = value;

baanima.duration = 2.0;

baanima.repeatcount = 60;

//在layer層上新增動畫

[imagev.layer addanimation:baanima forkey:@"key2"];

iOS開發UI篇 CALayer簡介

ios開發ui篇 calayer簡介 一 簡單介紹 在ios中,你能看得見摸得著的東西基本上都是uiview,比如乙個按鈕 乙個文字標籤 乙個文字輸入框 乙個圖示等等,這些都是uiview。其實uiview之所以能顯示在螢幕上,完全是因為它內部的乙個圖層,在建立uiview物件時,uiview內部會...

iOS開發之UIView和CALayer的區別

最大的區別是 圖層 calayer 不會直接渲染到螢幕上。uiview是ios系統中介面元素的基礎,所有介面元素都是繼承自它。它本身完全是由coreanimation來實現。真正的繪圖部分,是由乙個calayer類來管理。乙個uiview上可以由n個calayer,每個calayer顯示一種東西,增...

iOS開發UI篇 CAlayer層的屬性

ios開發ui篇 calayer層的屬性 一 position和anchorpoint 1.簡單介紹 calayer有2個非常重要的屬性 position和anchorpoint property cgpoint position 用來設定calayer在父層中的位置 以父層的左上角為原點 0,0 ...