web-dev-qa-db-fra.com

Opérateur binaire '|' ne peut pas être appliqué à deux opérandes UIViewAutoresizing

Obtenir cette erreur dans Swift 2.0.

Opérateur binaire '|' ne peut pas être appliqué à deux opérandes UIViewAutoresizing

Voici le code:

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

Une idée de ce que peut être le problème? enter image description here

184
Khawar

La OptionSetType a obtenu une syntaxe mise à jour pour Swift 2.x et une autre mise à jour pour Swift 3.x

Swift 3.x

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

Swift 2.x

view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
447
keithbhunter

Voici les différences entre Swift 1.2 et 2:

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

// Swift 2
view.autoresizingMask = [.FlexibleWidth, .FlexibleTopMargin]
30
Jorge Casariego

Essayez avec xcode7-b6:

view.autoresizingMask = UIViewAutoresizing.FlexibleWidth.union(UIViewAutoresizing.FlexibleHeight)
6
Tai Le

Pour Swift 3Xcode 8 b1:

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

réel pour Swift 3.0.2:

view.autoresizingMask = [.layerWidthSizable, .layerHeightSizable]
1
Liza Povalyaeva