UIBezierPath runde Kanten?

7

Ich zeichne ein paar Linien und ich bemerkte, dass wenn die Kanten in einem bestimmten Winkel stehen, eine scharfe Kante wie folgt entsteht:

Was ich zeichnen möchte:

Wie mache ich das? Ich habe die Dokumentationen durchgesehen, aber anscheinend finde ich nichts, wonach ich suche. Oder gibt es eine Möglichkeit, diese automatische Kantenerzeugung auszuschalten?

    
Arbitur 10.08.2013, 23:35
quelle

3 Antworten

19

UIBezierPaths haben eine Eigenschaft namens lineJoinStyle . Setze es auf kCGLineJoinRound und es wird wie gewünscht gezeichnet.

%Vor%     
Firoze Lafeer 10.08.2013, 23:43
quelle
3

Verwenden Sie CGContextSetLineJoin , um den Join-Parameter des Zeichenkontexts auf kCGLineJoinRound zu setzen, bevor Sie den Pfad streichen. Dies ist in der Quartz 2D-Programmierhandbuch .

Wenn Sie einen UIBezierPath zeichnen, können Sie auch die lineJoinStyle des Pfads festlegen, was möglicherweise einfacher ist.

    
Kurt Revis 10.08.2013 23:41
quelle
2

Die Eigenschaft kCGLineJoinRound auf einem UIBezierPath kann in Swift wie folgt aufgerufen werden:

%Vor%     
Aaron Halvorsen 19.02.2017 16:23
quelle

Tags und Links