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]