Swift IOS透明视图优于原始视图.覆盖.子视图



我可以使用下面的代码在swift中重写drawRect(),它工作得很好。

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()

最新更新