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


193

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

何が問題になる可能性がありますか? ここに画像の説明を入力してください


回答:


457

OptionSetTypeスウィフト2.xおよび3.xのスウィフトのために別の更新のための更新構文を得ました

Swift 3.x

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

Swift 2.x

view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]

30

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

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

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

6

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

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

5

の場合Swift 3 Xcode 8 b1

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

@Pushpa:好奇心が強い、私の回答の前に「For」という単語を追加する以外に、私が見ることができない何かを編集/変更しましたか?ありがとう
David DelMonte

2
はい、コードブロック内のコードをパット:)そしてはい、この答えは、すでにスウィフト2に掲載されている
はPushpa Y


-1

Xcode 7.2でこのコードSwift 2を使用してください

self.view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin, .FlexibleTopMargin]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.