3
drawRect,layoutSubViews和setNeedsDisplay方法的重要性如何?我們應該在哪些情況下使用它們?drawRect,layoutSubViews和setNeedsDisplay方法的重要性
drawRect,layoutSubViews和setNeedsDisplay方法的重要性如何?我們應該在哪些情況下使用它們?drawRect,layoutSubViews和setNeedsDisplay方法的重要性
如文檔中說:
drawRect: Draws the receiver’s image within the passed-in rectangle.
參數
RECT:一個矩形,它定義來限制繪製的區域。
您可以使用此方法在視圖的特定區域內繪製UIView。
- (無效)setNeedsDisplay
默認情況下,幾何形狀改變爲圖 自動重新顯示視圖 ,而無需調用 drawRect:方法。因此,您需要 請求在繪製視圖的數據或狀態用於繪製視圖時更改僅視圖重繪 。在這種情況下, 發送視圖setNeedsDisplay 消息。當應用程序 返回到運行循環時,標記爲 需要顯示的任何UIView對象將自動重新顯示 。
我覺得這個方法可以讓你控制你是否想讓系統自動爲你重繪你的UIView。如果你想通過你自己的狀態來控制進程,比如:如果用戶點擊這個按鈕,重繪;否則,不要。
列出子視圖。
- (無效)layoutSubviews
由子類重寫佈局 子視圖時layoutIfNeeded是 調用。此方法的默認實現 什麼都不做。
我對這種方法沒有太多的經驗。我可以告訴你的是,你需要覆蓋它來佈局你的子視圖
非常感謝。這很有幫助。 – Abhinav 2010-08-23 06:39:29