2015-06-16 30 views
160

için uygulanamaz.İkili operatör '|' Swift 2.0 bu hatayı alınıyor iki UIViewAutoresizing işlenen

İkili operatör '|'

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

herhangi bir fikir sorun ne olabilir: kod iki UIViewAutoresizing işlenen İşte

için uygulanamaz mı? enter image description here

+2

aynı sorun - | (http://stackoverflow.com/questions/30761996/swift [Swift 2.0 İkili Operatörü “” iki UIUserNotificationType işlenenler için uygulanamaz] -2-0-ikili-operatöre olabilir-uygulanamaz-için-iki uiusernotificationtype). –

cevap

407

OptionSetType var Swift 2.x için güncelleştirilmiş sözdizimi ve Swift 3.x

Swift 3.x

view.autoresizingMask = [.flexibleWidth, .flexibleHeight] 

Swift 2.x

için başka güncelleme
view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight] 
+24

Herşeyden önce, teşekkürler! Ama neden buraya gelmek zorundayım, göç aracı bunu tespit edip düzeltemez mi? xD –

+6

Duyuyorsunuz. C'mon Apple .... – MattD

+2

Bu tuhaf bir sözdizimi seçimidir, imo. Birden çok numaraya sahip bir dizi oluşturmak istediğinizde ne yapmalısınız? '+' veya '|' bana daha çok anlam ifade ederdi. – devios1

6

xcode7-b6 ile deneyin : Xcode 7,2

self.view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin, .FlexibleTopMargin] 
+1

Bu, benim durumumda doğrudur. keithbhunter cevabı @ Xcode 7 beta 6. hızlı 2 kullanarak benim için işe yaramadı Teşekkür –

30

Bu

Swift 1.2 ve 2 arasında farklar

actua hızlı 3.0.2 için l:

view.autoresizingMask = [.layerWidthSizable, .layerHeightSizable] 
Etkili
-1

kullanımı bu kod hızlı 2 Swift 3Xcode 8 b1 için:

view.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
5

ile

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

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

@Pushpa:.. diğer meraklı cevabım başında yer alan "için" sözcüğü eklenerek yerine, o başka bir şey/düzenlemek değişti göremiyorum? Teşekkür –

+2

Evet, kod bloğunun içinde kod putted :) Ve evet bu cevabı zaten Swift 2 ile yayınlanır. – Pushpa

1
view.autoresizingMask = UIViewAutoresizing.FlexibleWidth.union(UIViewAutoresizing.FlexibleHeight)