Бинарный оператор '|' не может применяться к двум операндам UIViewAutoresizing

Получение этой ошибки в 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

Есть идеи, в чем может быть проблема? введите описание изображения здесь


person Khawar    schedule 16.06.2015    source источник
comment
Фактически та же проблема, что и в Swift 2.0 - Binary Оператор «|» не может применяться к двум операндам UIUserNotificationType.   -  person Martin R    schedule 16.06.2015


Ответы (6)


OptionSetType получил обновленный синтаксис для Swift 2.x и еще одно обновление для Swift 3.x.

Swift 3.x

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

Swift 2.x

view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
person keithbhunter    schedule 16.06.2015

В чем разница между Swift 1.2 и 2:

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

// swift 2
view.autoresizingMask = [.FlexibleWidth, .FlexibleTopMargin]
person Jorge Casariego    schedule 23.10.2015

Попробуйте с xcode7-b6:

view.autoresizingMask = UIViewAutoresizing.FlexibleWidth.union(UIViewAutoresizing.FlexibleHeight)
person Tai Le    schedule 04.09.2015

Для Swift 3 Xcode 8 b1:

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
person ICL1901    schedule 17.06.2016
comment
@Pushpa: интересно, кроме добавления слова For в начале моего ответа, вы редактировали / меняли что-то еще, чего я не вижу? Спасибо - person ICL1901; 17.06.2016
comment
Да, поместил код в блок кода :) И да, этот ответ уже опубликован в Swift 2. - person Pushpa Y; 17.06.2016

актуально для swift 3.0.2:

view.autoresizingMask = [.layerWidthSizable, .layerHeightSizable]
person Liza Povalyaeva    schedule 20.05.2017

используйте этот код swift 2 с Xcode 7.2

self.view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin, .FlexibleTopMargin]
person Maninderjit Singh    schedule 11.05.2016