ios swift uibezierpath rounded-corners

ios - Usando UIBezierPath: byRoundingCorners: con Swift 2 y Swift 3



rounded-corners (2)

Estoy usando este código para hacer 2 esquinas de un botón redondeado.

let buttonPath = UIBezierPath(roundedRect: button.bounds, byRoundingCorners: UIRectCorner.TopLeft | UIRectCorner.BottomLeft, cornerRadii: CGSizeMake(1.0, 1.0))

Lanza un error:

operador binario ''|'' no se puede aplicar a dos operandos UIRectCorner.

¿Cómo uso este método en Swift 2.0?


En este caso en swift 2.0 es necesario realizar la unión de dos esquinas. F. ej .:

let corners = UIRectCorner.TopLeft.union(UIRectCorner.BottomLeft) let buttonPath = UIBezierPath(roundedRect: button.bounds, byRoundingCorners: corners, cornerRadii: CGSizeMake(1.0, 1.0))

Funciona con Swift 2 y Swift 3


Swift 2:

let buttonPath = UIBezierPath(roundedRect: button.bounds, byRoundingCorners: [UIRectCorner.TopLeft , UIRectCorner.BottomLeft], cornerRadii: CGSizeMake(1.0, 1.0))

Swift 3 y Swift 4:

let buttonPath = UIBezierPath(roundedRect: button.bounds, byRoundingCorners: [UIRectCorner.topLeft , UIRectCorner.bottomLeft], cornerRadii: CGSize(width:1.0, height:1.0))