İkili işleç '|' İki UIViewAutorize eden işlenene uygulanamaz


193

Swift 2.0'da bu hatayı alıyorum.

İkili işleç '|' İki UIViewAutorize eden işlenene uygulanamaz

İşte kod:

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

Sorunun ne olabileceği hakkında bir fikrin var mı? resim açıklamasını buraya girin


Yanıtlar:


457

OptionSetTypeSwift 2.x için aldığım güncelleştirilmiş sözdizimi ve Swift 3.x için başka güncelleme

Swift 3.x

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

Swift 2.x

view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]

30

Swift 1.2 ve 2 arasındaki farklar şunlardır:

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

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

6

Xcode7-b6 ile deneyin:

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

5

Şunun için Swift 3 Xcode 8 b1:

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

@Pushpa: Meraklı, cevabımın önüne "İçin" kelimesini eklemek dışında, göremediğim başka bir şeyi düzenlediniz / değiştirdiniz mi? Teşekkürler
TheGeezer

2
Evet, kodu kod bloğunun içine koydu :) Ve evet bu cevap zaten Swift 2 ile gönderildi.
Pushpa Y

1

hızlı 3.0.2 için gerçek:

view.autoresizingMask = [.layerWidthSizable, .layerHeightSizable]

-1

Xcode 7.2 ile bu kod swift 2'yi kullanın

self.view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin, .FlexibleTopMargin]
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.