J'utilise un CAShapeLayer
avec un UIBezierPath
pour dessiner un cadre encadré dans une vue.CAShapeLayer pixel manquant dans le coin supérieur gauche
Cela fonctionne très bien, mais le tout premier pixel (haut, gauche) n'est pas dessiné.
Ceci est mon code:
let focusSize = CGRect(x: focusX, y: focusY, width: focusWidth, height: focusHeight)
let focusPath = UIBezierPath(roundedRect: focusSize, cornerRadius: 0)
let borderLayer = CAShapeLayer()
borderLayer.path = focusPath.cgPath
borderLayer.fillColor = UIColor.clear.cgColor
borderLayer.strokeColor = UIColor.white.cgColor
borderLayer.lineWidth = 2
borderLayer.frame = self.someView.bounds
self.someView.layer.addSublayer(borderLayer)
Le résultat (note du pixel dans le coin supérieur gauche):
Je pensais que cela pourrait être lié à l'anticrénelage, mais en jouant autour avec le x, y et borderWidth ne semble pas résoudre le problème. Est-ce que quelqu'un sait ce qui cause cela?
Avez-vous essayé d'apporter votre couche à l'avant? Avez-vous essayé d'imprimer toutes les sous-couches de votre 'someView'? –