私は、隣に配置された2つのUIButtonを使用して、iOS上に分割ボタンを作成しています。これと同じように:あなたが見ることができるように不完全なUIBezierPathストローク
、望ましくない右ボタンの左上隅から取り出した小さな一口があります。ストロークのその部分を完成させたいと思います。
右ボタンは、ボタンの周囲に境界線を描画するサブレイヤとしてUIBezierPathを使用しています:
let borderWidth = CGFloat(4.0)
let borderLayer = CAShapeLayer()
var borderFrame = button.bounds.insetBy(dx: borderWidth/2.0, dy: borderWidth/2.0)
borderLayer.frame = borderFrame
borderFrame.origin = CGPoint.zero
borderLayer.path = UIBezierPath(roundedRect: borderFrame, byRoundingCorners: [.topRight, .bottomRight], cornerRadii: radius).cgPath
borderLayer.lineWidth = borderWidth
borderLayer.fillColor = UIColor.white.cgColor
borderLayer.strokeColor = UIColor.green.cgColor
button.layer.addSublayer(borderLayer)
私が代わりにUIBezierPathの
borderLayer.path = CGPath(rect: borderFrame, transform: nil)
を使用している場合は、それが正常に動作します。また、UIBezierPathの左上隅を丸くしてもうまくいきます。
境界線を描画する方法を誰かに教えてもらえますか? ありがとうございます!