通过原始视图的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()
我也试图把 覆盖FUNC vewDidLoad(){} 在这个新的类,但我得到的方法不覆盖任何方法从它的超类。有任何想法吗? – Joel