我使用CAShapeLayer
和UIBezierPath
在視圖中繪製邊框。CAShapeLayer在左上角丟失像素
這工作正常,但沒有繪製第一個像素(頂部,左側)。
這是我的代碼:
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似乎不能解決問題。 有誰知道這是什麼原因造成的?
你嘗試把你的層到前面?您是否嘗試打印出您的'someView'的所有子圖層? –