我正在使用 aCAShapeLayer
在UIBezierPath
视图中绘制一个带边框的框。
这工作正常,但第一个像素(顶部,左侧)未绘制。
这是我的代码:
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)
结果(注意左上角的像素):
我认为这可能与抗锯齿有关,但玩弄 x、y 和borderWidth 似乎并不能解决问题。有谁知道是什么原因造成的?