通过原始视图的Swift IOS透明视图。覆盖。子视图

问题描述:

我可以使用下面的代码来覆盖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()?

或者,我怎样才能让子视图改为新的视图,并将其放在原始视图上?

创建一个自定义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