¿Cómo cambiar el color de un UIBezierPath en Swift?

Tengo una instancia de UIBezierPath y quiero cambiar el color del trazo a algo que no sea negro. ¿Alguien sabe cómo hacer esto en Swift?

Con Swift 3, UIColor tiene un método setStroke() . setStroke() tiene la siguiente statement:

 func setStroke() 

Establece el color de las operaciones posteriores de trazos al color que representa el receptor.

Por lo tanto, puede usar setStroke() así:

 strokeColor.setStroke() // where strokeColor is a `UIColor` instance 

El código de Playground a continuación muestra cómo usar setStroke() junto con UIBezierPath para dibujar un círculo con un color de relleno verde y un color de trazo gris claro dentro de una subclass UIView :

 import UIKit import PlaygroundSupport class MyView: UIView { override func draw(_ rect: CGRect) { // UIBezierPath let newRect = CGRect( x: bounds.minX + ((bounds.width - 79) * 0.5 + 0.5).rounded(.down), y: bounds.minY + ((bounds.height - 79) * 0.5 + 0.5).rounded(.down), width: 79, height: 79 ) let ovalPath = UIBezierPath(ovalIn: newRect) // Fill UIColor.green.setFill() ovalPath.fill() // Stroke UIColor.lightGray.setStroke() ovalPath.lineWidth = 5 ovalPath.stroke() } } let myView = MyView(frame: CGRect(x: 0, y: 0, width: 200, height: 300)) PlaygroundPage.current.liveView = myView