ผู้ประกอบการไบนารี '|' ไม่สามารถใช้กับตัวถูกดำเนินการ UIViewAutoresizing สองตัว


193

รับข้อผิดพลาดนี้ใน Swift 2.0

ผู้ประกอบการไบนารี '|' ไม่สามารถใช้กับตัวถูกดำเนินการ UIViewAutoresizing สองตัว

นี่คือรหัส:

let view = UIView(frame: CGRect(x: 0, y: 0, width: 320, height: 568))
addSubview(view)
view.autoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight

ความคิดใด ๆ ที่สามารถเป็นปัญหาได้? ป้อนคำอธิบายรูปภาพที่นี่


2
ปัญหาเดียวกันอย่างมีประสิทธิภาพเช่นเดียวกับในSwift 2.0 - ตัวดำเนินการไบนารี“ |” ไม่สามารถนำไปใช้กับทั้งสองตัวถูกดำเนินการ UIUserNotificationType
Martin R

คำตอบ:


457

รูปแบบที่OptionSetTypeได้รับการปรับปรุงสำหรับ Swift 2.x และการปรับปรุงอื่นสำหรับ Swift 3.x

สวิฟท์ 3.x

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

สวิฟท์ 2.x

view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]

30

นี่คือความแตกต่างระหว่าง Swift 1.2 และ 2:

// swift 1.2
view.autoresizingMask = .FlexibleWidth | .FlexibleTopMargin

// swift 2
view.autoresizingMask = [.FlexibleWidth, .FlexibleTopMargin]


5

สำหรับSwift 3 Xcode 8 b1:

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

@Pushpa: อยากรู้อยากเห็นนอกเหนือจากการเพิ่มคำว่า "สำหรับ" ที่ด้านหน้าคำตอบของฉันคุณแก้ไข / เปลี่ยนแปลงอย่างอื่นที่ฉันไม่เห็นหรือไม่? ขอบคุณ
TheGeezer

2
ใช่ใส่โค้ดไว้ในบล็อคโค้ด :) และใช่คำตอบนี้โพสต์ไว้แล้วพร้อม Swift 2
Pushpa Y


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.