UIView autoresizingMask- 코드에 대한 인터페이스 빌더-프로그래밍 방식으로 스트럿 및 스프링 생성 -Swift 또는 Objective-C
Interface Builder를 사용하여 몇 가지 하위 뷰를 배치했지만 대신 코드에서 수행하고 싶습니다.
view.autoresizingMask 속성 설정에 대한 UIView 문서를 읽었습니다 . 제공되는 다양한 마스크 (예 : UIViewAutoresizingFlexibleLeftMargin
등) 를 사용하여 스트럿과 스프링을 번역하는 방법에 대한 위치 설명을 찾고 있습니다.
뷰에 대한 자동 크기 조정 |
을 사용하여 (Objective-C) 또는 배열 (Swift 2, 3)을 사용하여 springs 및 struts 를 지정하십시오 .
스프링 은 마스크 (각각 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);
UIViewAutoResizingMask
s는 우리가 '스트럿'과 '스프링'이라고 부르는 것입니다. 당신은 내부에 작은 정사각형이있는 큰 정사각형을 가지고 있습니다. 정사각형이 완벽하게 중앙에 유지되어야 할 큰 정사각형의 각 내부 가장자리에서 고정 된 너비를 설정하여 제한해야합니다. 좀 스트럿입니다.
반면에 스프링 UIView
은 회전 하는 동안 처럼 작동 합니다. 뷰가 화면 하단에 있고 중앙에 정렬되어있는 가정 해 보겠습니다 ( UIToolbar
). 뷰가 460 픽셀에서 320 픽셀로 회전 할 때 화면의 이제 변경된 치수에 대해 설명하는 위치를 유지해야합니다. IB에서 적절한 스프링 중 하나를 UIViewAutoResizingMask
강조 표시하는 것은 분명한 설정과 동일하며, 특히 스프링을 강조하는 것과 유사합니다 myView.autoResizingMask = UIViewAutoresizingFlexibleTopMargin
.
값은 한 쌍의 괄호로 묶고 다음과 같은 또는 연산자를 사용하여 나란히 사용할 수 있습니다. myView.autoResizingMask = (UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin)
마스크는의 typdef이고 NSUInteger
사과가 할당 한 플래그이기 때문에 숫자를보고 합니다. 메소드 정의를 보려면 Cmd 키를 클릭하십시오.
'ProgramingTip' 카테고리의 다른 글
writeToFile : atomically : atomically는 무엇을 의미합니까? (0) | 2021.01.05 |
---|---|
JavaScript에서 팝업 창의 이벤트 닫기 (0) | 2021.01.05 |
ActionBar가없는 Android 활동 (0) | 2020.12.31 |
Xcode 플레이 그라운드는 Sources 폴더의 신속한 파일에 액세스 할 수 없습니다. (0) | 2020.12.31 |
Rails- 시스템이 지정된 경로를 수 없습니다. (0) | 2020.12.31 |