Использование UIBezierPath: byRoundingCorners: с Swift 2 и Swift 3
Я использую этот код, чтобы закруглить 2 угла кнопки.
let buttonPath = UIBezierPath(roundedRect: button.bounds, byRoundingCorners: UIRectCorner.TopLeft | UIRectCorner.BottomLeft, cornerRadii: CGSizeMake(1.0, 1.0))
Выдает ошибку:
бинарный оператор '|' не может применяться к двум операндам UIRectCorner.
Как использовать этот метод в Swift 2.0?
Ответы
Ответ 1
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))
Ответ 2
В этом случае в swift 2.0 требуется объединение двух углов. F. ex.:
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