2015-09-25 47 views
0
import UIKit 
class CustomView: UIView { 
    override func drawRect(rect: CGRect) { 
     print("Draw") 
    } 
} 

拖動一個UIView,設置它的類的子類的工作是CustomView,創建對它的引用customViewsetNeedsDisplay不上的UIImageView

當我打電話customView.setNeedsDisplay(), CustomView被調用。

import UIKit 
class CustomImageView: UIImageView { 
    override func drawRect(rect: CGRect) { 
     print("DrawImage") 
    } 
} 

將一個UIImageView,設置其類爲CustomImageView,創建對它的引用customImageView

當我撥打customImageView.setNeedsdisplay()時,什麼也沒有發生。爲什麼?

回答

0

UIImageView類經過優化,可以將其圖像繪製到顯示器上。 UIImageView不調用其子類的drawRect:方法。如果你的子類需要包含自定義繪圖代碼,你應該改爲UIView類的子類。