我一直在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()。
这似乎不正确。
为什么会这样?