2015-10-08 103 views
0

我可以使用下面的代碼來覆蓋swift中的drawRect(),它工作正常。通過原始視圖的Swift IOS透明視圖。覆蓋。子視圖

override func drawRect(rect: CGRect) { 
    var path = UIBezierPath(ovalInRect: rect) 
    UIColor.greenColor().setFill() 
    path.fill() 
} 

我想在原始視圖中添加子視圖(或第二視圖)。

var overlayView = UIView() 
self.view.addSubview(overlayView) 

我的問題是,我該如何重寫子視圖的drawRect()?

或者,我怎樣才能讓子視圖改爲新的視圖,並將其放在原始視圖上?

回答

0

創建一個自定義UIView子類,例如,

class MyCustomView: UIView { 
    override func drawRect(rect: CGRect) { 
     // do whatever you need to do 
    } 
} 

然後更換var overlayView = UIView()var overlayView = MyCustomView()

+0

我也試圖把 覆蓋FUNC vewDidLoad(){} 在這個新的類,但我得到的方法不覆蓋任何方法從它的超類。有任何想法嗎? – Joel