Ответ 1
OptionSetType
получил обновленный синтаксис для Swift 2.x и еще одно обновление для Swift 3.x
Swift 3.x
view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
Swift 2.x
view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
Получение этой ошибки в 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
Любая идея, в чем проблема?
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]
используйте этот код swift 2 с Xcode 7.2
self.view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin, .FlexibleTopMargin]