이항 연산자 '|' 두 UIViewAutoresizing 피연산자에 적용 할 수 없습니다


193

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

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


답변:


457

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

스위프트 3.x

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

스위프트 2.x

view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]

30

이것이 스위프트 1.2와 2의 차이점입니다.

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

// swift 2
view.autoresizingMask = [.FlexibleWidth, .FlexibleTopMargin]

6

xcode7-b6으로 시도하십시오.

view.autoresizingMask = UIViewAutoresizing.FlexibleWidth.union(UIViewAutoresizing.FlexibleHeight)

5

의 경우 Swift 3 Xcode 8 b1:

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

@ Pushpa : 내 대답 앞에 "For"라는 단어를 추가하는 것 외에 궁금한 점이 보이지 않는 다른 것을 편집 / 변경 했습니까? 감사합니다
TheGeezer 2016 년

2
예, 코드를 코드 블록 안에 넣었습니다.) 예,이 답변은 이미 Swift 2에 게시되어 있습니다.
Pushpa Y


-1

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

self.view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin, .FlexibleTopMargin]
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.