web-dev-qa-db-ja.com

二項演算子「|」 2つのUIViewAutoresizingオペランドには適用できません

Swift 2.0でこのエラーを取得します。

二項演算子「|」 2つのUIViewAutoresizingオペランドには適用できません

コードは次のとおりです。

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

何が問題になるのでしょうか? enter image description here

181
Khawar

OptionSetTypeは、Swift 2.xの更新された構文とSwift 3.xの別の更新を取得しました

Swift 3.x

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

Swift 2.x

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

これは、Swift 1.2と2の違いです。

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

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

Xcode7-b6で試してください:

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

Swift 3Xcode 8 b1の場合:

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

swift 3.0.2の実際:

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