CALyer簡單介紹和使用

2022-09-23 18:30:10 字數 2529 閱讀 7973

一、position和anchorpoint

1.簡單介紹

calayer有2個非常重要的屬性:position和anchorpoint

@property cgpoint position;

用來設定calayer在父層中的位置

以父層的左上角為原點(0, 0)

@property cgpoint anchorpoint;

稱為「定位點」、「錨點」

決定著calayer身上的哪個點會在position屬性所指的位置

以自己的左上角為原點(0, 0)

它的x、y取值範圍都是0~1,預設值為(0.5, 0.5)

二、了解一下calayer的基本常用的屬性:

//陰影顏色

button.layer.shadowcolor = [[uicolor blackcolor]cgcolor];

//陰影的偏移距離

button.layer.shadowoffset = cgsizemake(20, 20);

//陰影的透明度

button.layer.shadowopacity = 0.8 ;

//陰影

button.layer.shadowradius = 20 ;

//是否裁剪邊框之外的

// button.layer.maskstobounds = yes ;

//calayer負責檢視的渲染 ui中真正負責繪圖的部分 沒有使用者互動,僅僅是展示檢視內容,一般用來做動畫

三、接下來我們寫個demo來演示一下

/*每乙個uiview內部都預設關聯著乙個calayer,我們可用稱這個layer為root layer(根層)

所有的非root layer,也就是手動建立的calayer物件,都存在著隱式動畫

什麼是隱式動畫?

當對非root layer的部分屬性進行修改時,缺省會自動產生一些動畫效果

而這些屬性稱為animatable properties(可動畫屬性)

列舉幾個常見的animatable properties:

bounds:用於設定calayer的寬度和高度。修改這個屬性會產生縮放動畫

backgroundcolor:用於設定calayer的背景色。修改這個屬性會產生背景色的漸變動畫

position:用於設定calayer的位置。修改這個屬性會產生平移動畫

*/@inte***ce viewcontroller ()

@property (nonatomic,retain) calayer *layer ;

@end

@implementation viewcontroller

- (void)viewdidload

- (void)didreceivememorywarning

#pragma mark -- 平移calayer

- (ibaction)buttonaction1:(uibutton *)sender

-(void)animationdidstart:(caanimation *)anim

#pragma mark --實現縮放

- (ibaction)buttonaction2:(uibutton *)sender

- (ibaction)buttonaction3:(uibutton *)sender

@end

C FileStream簡單介紹和使用

本章講述 filestream類的基本功能,以及簡單示例 1 引用命名空間 using system.io 2 注意 使用io操作檔案時,要注意流關閉和釋放問題!強力推薦 將建立檔案流物件的過程寫在using當中,會自動幫助我們釋放資源 使用try catch exception ex 進行一次捕獲...

ReentrantLock介紹和簡單使用

reentrantlock和synchronized比較 1 reentrantlock和synchronized都是獨佔鎖,前者需要主動的加鎖和釋放鎖,後者加鎖解鎖的過程會自動進行。2 reentrantlock和synchronized都是可重入的,前者加鎖和釋放鎖的次數必須一致,否則會一直進入...

Hystrix的介紹和簡單使用

這週在看專案的相關 時,接觸到了hystrix,因此查詢了相關資料學習了下。一 什麼是hystrix hystrix是netflix針對微服務分布式系統的熔斷保護中介軟體,當我們的客戶端連線遠端的微服務時,有兩種情況需要考慮 首先,如果遠端系統當機了我們怎麼辦?其次,我們如何管理對遠端微服務的呼叫效...