source

이진 연산자 '|'을(를) 두 개의 UIViewAutoresize 피연산자에 적용할 수 없습니다.

ittop 2023. 4. 22. 10:29
반응형

이진 연산자 '|'을(를) 두 개의 UIViewAutoresize 피연산자에 적용할 수 없습니다.

Swift 2.0에서 이 오류가 발생.

이진 연산자 '|'을(를) 두 개의 UIViewAutoresize 피연산자에 적용할 수 없습니다.

코드는 다음과 같습니다.

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

뭐가 문제인지 아세요? 여기에 이미지 설명 입력

OptionSetTypeSwift 2.x 구문이 갱신되고 Swift 3.x 구문이 갱신되었습니다.

스위프트 3.x

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

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

Xcode 7.2와 함께 이 코드 swift 2를 사용합니다.

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

언급URL : https://stackoverflow.com/questions/30867325/binary-operator-cannot-be-applied-to-two-uiviewautoresizing-operands

반응형