2013-02-17 2 views
0

내 질문은 이상한 나타날 수 있지만 예로는 이해하기 쉽다 : 그럼 내가 만드는 것이, 내가 가진,의가있는 UIButton을 가정 해 봅시다iOS - UIAutoresizingMask 여백 : 왜 양면을 설정해야합니까?

과 :

// [...] Create button, add it to view 
myButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; 

내가 UIViewAutoresizingFlexibleRightMargin를 지정하지 않은 경우, 내 구성 요소가 화면의 오른쪽 x 비율에 있지 않습니다. 왜 ? 왼쪽 여백을 지정 했으므로 장치를 회전 할 때 요소가 좋은 위치에 있어야합니다 ... 오른쪽 여백의 필요성을 이해하지 못합니다.

답변

2

유연한 여백을 모두 사용하면 두 여백 사이의 폭이 변경됩니다. 이는 일반적으로 뷰를 중앙에 유지하는 데 사용됩니다.

가변 마진을 하나만 사용하면 폭의 변경이 하나의 유연한 여백에 적용됩니다. 이는 너비가 어떻게 변경 되더라도 다른 여백은 그대로 유지된다는 것을 의미합니다.

+0

아직 해결되지 않았습니다. 내 인물 UI를위한 버튼이 32 픽셀 인 경우. 그건 10 % 남았 어, 그렇지? 회전 할 때 왼쪽 여백 만 설정하면 가로 UI에서는 10 %가 남지 않습니다. – Jeremy

+0

좋아, 나는 좋은 길을 생각하지 않았다. 오른쪽 여백이 유연하지 않기 때문에, 그것은 불균형을 만드는 초상화 UI와 동일하게 유지됩니다 ... 감사합니다 :) – Jeremy

+0

그것은 퍼센트가 아니라 절대 지점입니다. 이것을 이렇게 생각하십시오. "유연한 왼쪽"만있는 경우 실제로 "고정 된"것으로 생각하십시오. 오른쪽 여백이 고정됩니다. 너비가 변경되면 오른쪽 여백이 고정 된 채로 유지됩니다. 유연한 왼쪽 여백을 조정하면됩니다. – rmaddy