ProgramingTip

UIView autoresizingMask- 코드에 대한 인터페이스 빌더-프로그래밍 방식으로 스트럿 및 스프링 생성 -Swift 또는 Objective-C

bestdevel 2021. 1. 5. 21:15
반응형

UIView autoresizingMask- 코드에 대한 인터페이스 빌더-프로그래밍 방식으로 스트럿 및 스프링 생성 -Swift 또는 Objective-C


Interface Builder를 사용하여 몇 가지 하위 뷰를 배치했지만 대신 코드에서 수행하고 싶습니다.

view.autoresizingMask 속성 설정에 대한 UIView 문서를 읽었습니다 . 제공되는 다양한 마스크 (예 : UIViewAutoresizingFlexibleLeftMargin등) 를 사용하여 스트럿과 스프링을 번역하는 방법에 대한 위치 설명을 찾고 있습니다.


뷰에 대한 자동 크기 조정 |을 사용하여 (Objective-C) 또는 배열 (Swift 2, 3)을 사용하여 springsstruts 를 지정하십시오 .

  • 스프링 은 마스크 (각각 Objective-C 또는 Swift 3)를 지정하여 표시됩니다.

    • 수직 스프링 : UIViewAutoresizingFlexibleHeight또는.flexibleHeight

    • 수평 스프링 : UIViewAutoresizingFlexibleWidth또는.flexibleWidth

  • Struts 는 4 개의 'flexible margin'마스크 중 하나가없는 경우 표시됩니다 (즉, strut이 존재하지 않는 경우 해당 margin에 대한 마스크가 지정됨).

    • UIViewAutoresizingFlexibleLeftMargin 또는 .flexibleLeftMargin

    • UIViewAutoresizingFlexibleRightMargin 또는 .flexibleRightMargin

    • UIViewAutoresizingFlexibleTopMargin 또는 .flexibleTopMargin

    • UIViewAutoresizingFlexibleBottomMargin 또는 .flexibleBottomMargin

예를 들어, 수평 스프링상단 및 하단 스트럿있는 뷰 는 너비가 있고 왼쪽 및 오른쪽 여백이 유연함으로 지정됩니다.

스위프트 3

mySubview.autoresizingMask = [.flexibleWidth, .flexibleLeftMargin, .flexibleRightMargin]

스위프트 2

mySubview.autoresizingMask = [.FlexibleWidth, .FlexibleLeftMargin, .FlexibleRightMargin]

스위프트 1.2

mySubview.autoresizingMask = .FlexibleWidth | .FlexibleLeftMargin | .FlexibleRightMargin

목표 -C

mySubview.autoresizingMask = (UIViewAutoresizingFlexibleWidth |    
                              UIViewAutoresizingFlexibleLeftMargin |  
                              UIViewAutoresizingFlexibleRightMargin);

여기에 이미지 설명 입력


UIViewAutoResizingMasks는 우리가 '스트럿'과 '스프링'이라고 부르는 것입니다. 당신은 내부에 작은 정사각형이있는 큰 정사각형을 가지고 있습니다. 정사각형이 완벽하게 중앙에 유지되어야 할 큰 정사각형의 각 내부 가장자리에서 고정 된 너비를 설정하여 제한해야합니다. 좀 스트럿입니다.

반면에 스프링 UIView은 회전 하는 동안 처럼 작동 합니다. 뷰가 화면 하단에 있고 중앙에 정렬되어있는 가정 해 보겠습니다 ( UIToolbar). 뷰가 460 픽셀에서 320 픽셀로 회전 할 때 화면의 이제 변경된 치수에 대해 설명하는 위치를 유지해야합니다. IB에서 적절한 스프링 중 하나를 UIViewAutoResizingMask강조 표시하는 것은 분명한 설정과 동일하며, 특히 스프링을 강조하는 것과 유사합니다 myView.autoResizingMask = UIViewAutoresizingFlexibleTopMargin.

값은 한 쌍의 괄호로 묶고 다음과 같은 또는 연산자를 사용하여 나란히 사용할 수 있습니다. myView.autoResizingMask = (UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin)

마스크는의 typdef이고 NSUInteger사과가 할당 한 플래그이기 때문에 숫자를보고 합니다. 메소드 정의를 보려면 Cmd 키를 클릭하십시오.

참조 URL : https://stackoverflow.com/questions/10468389/uiview-autoresizingmask-interface-builder-to-code-programmatically-create-st

반응형