2017-04-04 112 views
1

當我在UIView的CALayer上(直接或通過needsDisplayOnBoundsChange)調用setNeedsDisplay()時,它將背景繪製爲黑色。調用layer.setNeedsDisplay()顯示黑色背景

myView.layer.setNeedsDisplay() 

當我呼籲的UIView「setNeedsDisplay()」直接,它不會顯示爲黑色:

myView.setNeedsDisplay() 

爲什麼會發生這種情況,我怎麼能解決這個問題?

enter image description here

回答

1

的問題是,我的觀點的背景顏色莫名其妙地被設置爲nil,而不是.white.clear,例如。

看起來很奇怪,只有在圖層上而不是視圖上調用它時纔會發生這種情況。

要重現...

這顯示爲白色:

myView.backgroundColor = nil 
myView.setNeedsDisplay() 

這使視圖以顯示爲黑色:

myView.backgroundColor = nil 
myView.layer.setNeedsDisplay()