[ios] 이항 연산자 ‘|’ 두 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

어떤 문제가 될 수 있는지 아십니까?
여기에 이미지 설명을 입력하십시오



답변

OptionSetType스위프트 2.x를위한 가지고 업데이트 된 구문과 스위프트 3.x를위한 또 다른 갱신

스위프트 3.x

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

스위프트 2.x

view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]


답변

이것이 스위프트 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]


답변

신속한 3.0.2에 대한 실제 :

view.autoresizingMask = [.layerWidthSizable, .layerHeightSizable]


답변

이 코드 swift 2를 Xcode 7.2와 함께 사용하십시오.

self.view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin, .FlexibleTopMargin]


답변