195

在 Swift 2.0 中出现此错误。

二元运算符'|' 不能应用于两个 UIViewAutoresizing 操作数

这是代码:

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

知道可能是什么问题吗? 在此处输入图像描述

4

6 回答 6

464

获得了 Swift 2.x的OptionSetType更新语法和 Swift 3.x 的另一个更新

斯威夫特 3.x

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

斯威夫特 2.x

view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
于 2015-06-16T12:25:24.103 回答
30

这是 Swift 1.2 和 2 之间的区别:

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

// swift 2
view.autoresizingMask = [.FlexibleWidth, .FlexibleTopMargin]
于 2015-10-23T19:11:34.953 回答
6

尝试使用 xcode7-b6:

view.autoresizingMask = UIViewAutoresizing.FlexibleWidth.union(UIViewAutoresizing.FlexibleHeight)
于 2015-09-04T06:37:06.123 回答
5

对于Swift 3 Xcode 8 b1

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
于 2016-06-17T05:19:33.633 回答
1

swift 3.0.2 的实际情况:

view.autoresizingMask = [.layerWidthSizable, .layerHeightSizable]
于 2017-05-20T14:50:39.967 回答
-1

将此代码 swift 2 与 Xcode 7.2 一起使用

self.view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin, .FlexibleTopMargin]
于 2016-05-11T12:59:18.093 回答