当我在UIView的CALayer上调用setNeedsDisplay()
时(直接或通过needsDisplayOnBoundsChange
),它将背景绘制为黑色。
myView.layer.setNeedsDisplay()
当我直接在UIView上调用“setNeedsDisplay()”时,它不会显示为黑色:
myView.setNeedsDisplay()
为什么会发生这种情况,我该如何解决?
最佳答案
问题是我的视图的背景色以某种方式设置为nil
而不是.white
或.clear
。
奇怪的是,仅当在图层而不是视图上调用它时才会发生。
复制...
这显示为白色:
myView.backgroundColor = nil
myView.setNeedsDisplay()
这将导致视图显示为黑色:
myView.backgroundColor = nil
myView.layer.setNeedsDisplay()
关于ios - 调用layer.setNeedsDisplay()显示黑色背景,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43215563/