2015-08-10 16 views
16

Ich verwende diesen Code, um 2 Ecken einer Schaltfläche zu runden.Verwenden von UIBezierPath: byRoundingCorners: mit Swift 2 und Swift 3

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

Es wirft einen Fehler:

binary operator '|' cannot be applied to two UIRectCorner operands.

Wie verwende ich diese Methode in Swift 2.0?

Antwort

28

Swift 2:

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

Swift 3:

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

In diesem Fall ist in Swift 2,0 erforderlich Vereinigung von zwei Ecken zu machen. F. ex .:

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

Arbeiten mit Swift 2 und Swift 3