在View and Window Architecture陳述,報價:的CALayer與drawRect中
意見與核心動畫層協同工作來處理視圖的內容的渲染和動畫。 UIKit 中的每個視圖都由層對象(通常是CALayer類的實例)提供支持,該對象管理視圖的後備存儲並處理與視圖相關的動畫。
的「的觀點圖紙週期」一節中更遠的陳述:
UIView類用來呈現內容點播圖紙模型。當視圖第一次出現在屏幕上時,系統會要求它繪製其內容。 系統捕獲此內容的快照並將該快照用作視圖的視覺表示。
這是否意味着在其drawRect方法調用中的視圖中繪製的內容被保存在其支持核心動畫層中的快照中?
如果不是,該內容快照在哪裏「駐留」?
如果不是,這是否意味着CALayer用於呈現「靜態」內容,不會經常更改的內容,drawRect用於呈現經常更改的內容,例如在遊戲應用程序中?
p.s.
這些問題與任何特定的代碼實現無關。
我只是想了解ios視圖層體系結構。
圖層擅長於繪製一次繪製的內容,並且drawRect在每次調用時重繪內容? –
圖層也擅長插值。例如動畫背景顏色,位置,變換,邊框寬度等。 –