Abgerundete Ecke eines ausgeschnittenen Bogens mit UIBezierPathIOS

Programmierung für iOS
Anonymous
 Abgerundete Ecke eines ausgeschnittenen Bogens mit UIBezierPath

Post by Anonymous »

Ich zeichne ein ausgeschnittenes Loch in CAShapeLayer mit UIBezierPath, das ist der Code, den ich bisher habe:

Code: Select all

let view = UIView(
frame: CGRect(origin: .zero, size: CGSize(width: 500.0, height: 500.0))
)
view.backgroundColor = .clear

let shapeLayer = CAShapeLayer()
shapeLayer.frame = view.bounds
shapeLayer.fillColor = UIColor.systemMint.cgColor

let mainPath = UIBezierPath(
roundedRect: CGRect(
origin: CGPoint(x: 50.0, y: 50.0), size: CGSize(width: 400.0, height: 400.0)
),
cornerRadius: 10.0
)

let cutOutArc = UIBezierPath()
cutOutArc.addArc(
withCenter: CGPoint(x: 50.0, y: 250.0),
radius: 50.0,
startAngle: .pi / 2.0,
endAngle: .pi + .pi / 2.0,
clockwise: false
)
cutOutArc.addLine(to: CGPoint(x: 50.0, y: 200.0))
cutOutArc.close()

mainPath.append(cutOutArc)

shapeLayer.fillRule = .evenOdd
shapeLayer.path = mainPath.cgPath

view.layer.insertSublayer(shapeLayer, at: 0)
(Der Code ist vereinfacht und für die Verwendung in Playground angepasst.)
Der Code ergibt diese Form (sieht genau so aus, wie ich sie brauche):
Image

Was ich Ich kann nicht herausfinden, wie man einen Eckradius zum ausgeschnittenen Bogen hinzufügt (wohin die roten Pfeile im Bild unten zeigen), sagen wir, von 4,0 Punkten. Ich habe jetzt ein paar Tage lang mit ziemlich zufälligen Optionen gespielt, ohne aussagekräftiges Ergebnis. Ich habe versucht, die KI zu fragen, aber sie konnte es auch nicht herausfinden (sie produzierte einfach weiterhin fehlerhaften Code).
Image

Weiß jemand wie? um es zu tun? Jede Anleitung ist sehr willkommen!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post