当我在UIView的CALayer上调用setNeedsDisplay()时(直接或通过needsDisplayOnBoundsChange),它将背景绘制为黑色。

myView.layer.setNeedsDisplay()

当我直接在UIView上调用“setNeedsDisplay()”时,它不会显示为黑色:
myView.setNeedsDisplay()

为什么会发生这种情况,我该如何解决?

ios - 调用layer.setNeedsDisplay()显示黑色背景-LMLPHP

最佳答案

问题是我的视图的背景色以某种方式设置为nil而不是.white.clear

奇怪的是,仅当在图层而不是视图上调用它时才会发生。

复制...

这显示为白色:

myView.backgroundColor = nil
myView.setNeedsDisplay()

这将导致视图显示为黑色:
myView.backgroundColor = nil
myView.layer.setNeedsDisplay()

关于ios - 调用layer.setNeedsDisplay()显示黑色背景,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43215563/

10-10 20:28