自定义的UIView的draw()会阻止图层的背景色

时间:2018-08-07 00:30:39

标签: calayer

我一直在UIView上玩CALayer。我注意到,只要缺少定制视图的draw() ,我都可以设置自定义视图层的背景。

但是,一旦将draw()放在自定义视图类中,该图层的背景颜色就不会显示。

以下代码片段无需使用自定义视图的draw()即可工作:

override func viewDidLoad() {
    super.viewDidLoad()
    customView.layer.backgroundColor = UIColor.blue.cgColor
}

但是,当我在自定义视图中添加以下draw()时(draw方法只是一个不执行任何操作的框架),彩色背景不显示

override func draw(_ dirtyRect: CGRect) {
    super.draw(dirtyRect)
}

BTW:这包括在draw()本身中定义图层的背景颜色。

因此, show 颜色的唯一显而易见的方法是在视图控制器中进行设置,而无需使用draw()。

这似乎不正确。

为什么会这样?

0 个答案:

没有答案