programing

프로그래밍 방식으로 UIView의 자동 크기 조정 마스크를 설정 하시겠습니까?

copysource 2021. 1. 17. 11:50
반응형

프로그래밍 방식으로 UIView의 자동 크기 조정 마스크를 설정 하시겠습니까?


에 대해 프로그래밍 방식으로 autoresizingMask를 설정해야합니다 UIView.

나는 이것을 구현하는 방법을 모른다.

여기에 이미지 설명 입력


그 스크린 샷에있는 것을 얻으려면 DrummerB가 제안하는 것과 반대로해야합니다. 고정 상단 여백을 원하므로 다른 모든면을 다음과 같이 유연하게 만듭니다.

목표 C :

view.autoresizingMask = UIViewAutoresizingFlexibleRightMargin |
                        UIViewAutoresizingFlexibleLeftMargin |
                        UIViewAutoresizingFlexibleBottomMargin;

측면을 유연하게 설정하지 않는 것은 고정된다는 것을 의미합니다 (기본 동작). 따라서 UIViewAutoResizingFixedTopMargin (UIViewAutoresizingFlexibleTopMargin을 설정하지 않는 것과 동일하기 때문에)과 같은 것이 없습니다.

Swift 편집 :

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

신속한 버전 1을 추가 한 Tom Calmon에게 감사드립니다.

건배.


보기의 autoresizingMask속성 을 설정해야 합니다.

view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;

가능한 값은 다음에서 정의됩니다 UIViewAutoresizing.

enum {
   UIViewAutoresizingNone                 = 0,
   UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
   UIViewAutoresizingFlexibleWidth        = 1 << 1,
   UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
   UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
   UIViewAutoresizingFlexibleHeight       = 1 << 4,
   UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
typedef NSUInteger UIViewAutoresizing;

비트 OR 연산자를 사용하여 여러 값을 설정할 수 있습니다 |.


스위프트 2.0 :

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

스위프트 4.1 :

view.autoresizingMask = [.flexibleHeight, .flexibleWidth, .flexibleTopMargin, .flexibleRightMargin, .flexibleLeftMargin, .flexibleBottomMargin]

UIView의 유연한 Top Margin, Bottom Margin, Left Margin 및 Right Margin을 설정하려면 다음 코드를 작성하십시오.

autoresizingMask=UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;

참조 URL : https://stackoverflow.com/questions/12695343/set-uiviews-autoresizing-mask-programmatically

반응형