2017-04-04 1 views
1

Lorsque j'appelle setNeedsDisplay() sur le CALayer de mon UIView (soit directement, soit via needsDisplayOnBoundsChange), l'arrière-plan est noir.L'appel de layer.setNeedsDisplay() affiche un arrière-plan noir

myView.layer.setNeedsDisplay() 

Quand j'appelle « setNeedsDisplay() » sur le UIView directement, il ne se présente pas comme noir:

myView.setNeedsDisplay() 

Pourquoi cela se produit, et comment puis-je résoudre ce problème?

enter image description here

Répondre

1

Le problème était que était en quelque sorte mis à nil au lieu de .white ou .clear, par exemple de mon point de vue de la couleur de fond.

Il semble étrange que cela se produise uniquement en l'appelant sur le calque et non sur la vue.

Pour reproduire ...

Cela apparaît comme blanc:

myView.backgroundColor = nil 
myView.setNeedsDisplay() 

Cela provoque la vue pour afficher en noir:

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