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
何が問題になるのでしょうか?
OptionSetType
は、Swift 2.xの更新された構文とSwift 3.xの別の更新を取得しました
Swift 3.x
view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
Swift 2.x
view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
これは、Swift 1.2と2の違いです。
// Swift 1.2
view.autoresizingMask = .FlexibleWidth | .FlexibleTopMargin
// Swift 2
view.autoresizingMask = [.FlexibleWidth, .FlexibleTopMargin]
Xcode7-b6で試してください:
view.autoresizingMask = UIViewAutoresizing.FlexibleWidth.union(UIViewAutoresizing.FlexibleHeight)
Swift 3
Xcode 8 b1
の場合:
view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
swift 3.0.2の実際:
view.autoresizingMask = [.layerWidthSizable, .layerHeightSizable]