2015-08-10 54 views
16

Tôi đang sử dụng mã này để làm cho 2 góc của nút được làm tròn.Sử dụng UIBezierPath: byRoundingCorners: với Swift 2 và Swift 3

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

Nó ném một lỗi:

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

Làm thế nào để sử dụng phương pháp này trong Swift 2.0?

Trả lời

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

Trong trường hợp này trong nhanh chóng 2.0 là cần thiết để làm cho công đoàn của hai góc. F. cũ .:

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

trình với Swift 2Swift 3

Các vấn đề liên quan