設(shè)置寄宿圖
Contents
contentsid 類型 -> 可以賦予任何類型牌捷,但只有CGImage類型才會有內(nèi)容;
contentGravity 類同于 UIImageView的ContentMode互捌;
- contentGravity 是一個NSString類型的含滴,并不是枚舉虽另;
maskToBounds 類同于UIView的clipsToBounds, 將超出邊界部分給裁減掉
contentsRect 允許我們在圖層邊框里顯示寄宿圖的一個子域锨侯。這涉及到圖片是如何顯示和拉伸的
- 使用單位左邊嫩海,0-1之間,一個相對值囚痴;
- 簡單說叁怪,{0,0深滚,1奕谭,1}是指從左上角開始contents的大小,前兩個數(shù)值控制左上角的坐標, width:1 表示整個contents的width*1痴荐,height:1同理血柳;
- 當確定好 contentsRect,系統(tǒng)會將這部分內(nèi)容裁減出來并且拉伸填滿layer生兆;
- contentsCenter 一個CGRect难捌,它定義了一個固定的邊框和一個在圖層上可拉伸的區(qū)域。
- 默認情況下鸦难,contentsCenter是{0, 0, 1, 1}根吁, 這表明 內(nèi)容全部區(qū)域可均勻拉伸;
- 具體改變數(shù)值和contentsRect類似合蔽;
Custom Drawing
- drawRect: 可以直接用Core Graphics直接繪制寄宿圖击敌, 是UIView的方法,但是底層由CALayer實現(xiàn)的
* 沒有默認實現(xiàn)辈末, 系統(tǒng)只有在檢測到這個方法被調(diào)用愚争,才會生成寄宿圖
* 對CPU個內(nèi)存有大的消耗
* 先調(diào)用 *displayLayer:* ,然后系統(tǒng)嘗試調(diào)用 *drawLayer: inContext:*