使用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 2和Swift 3