使用UIBezierPath:byRoundingCorners:使用Swift 2和Swift 3

我使用这个代码来使一个button的两个圆angular变圆。

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

它会抛出一个错误:

二元运算符'|' 不能应用于两个UIRectCorner操作数。

如何在Swift 2.0中使用这个方法?

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)) 

在这种情况下在swift 2.0中需要做两个angular的结合。 F.例如:

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

适用于Swift 2Swift 3