您好,登錄后才能下訂單哦!
這一篇是關于CALayer的自定義:
不管時UIView還是CALayer,繪制圖形的步驟都差不多分這三步:
(1)獲取上下文
(2)繪制圖形
(3)渲染圖形
注意點:
(1)CALayer里繪制的圖形默認為無色,不會顯示。要想讓繪制的圖形顯示出來,還需要設置圖形的顏色。注意不能直接使用UI框架中的類
(2)在自定義layer中的-(void)drawInContext:方法不會自己調用,只能自己通過setNeedDisplay方法調用,在view中畫東西DrawRect:方法在view第一次顯示的時候會自動調用。
說明:在UIView中繪制圖形,獲取的上下文就是這個view對應的layer的上下文。在渲染的時候,就是把圖形渲染到對應的layer上。在執行渲染操作的時候,本質上它的內部相當于執行了 [self.layer drawInContext:ctx];
當然還有第二種方法(代理) 設置CALayer的delegate,然后讓delegate實現drawLayer:inContext:方法,當CALayer需要繪圖時,會調用delegate的drawLayer:inContext:方法進行繪圖。(這里要注意的是delegate不能指定為當前的View,因為它已經是子層的代理了,這里設置為其他的代理會出問題,具體操作參考http://www.cocoachina.com/industry/20140115/7703.html)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。