2015-01-11 5 views
11

인터페이스 작성 도구로 완벽하게 스케일링 된 뷰를 만들려고합니다. 지금까지 모든 것이 좋습니다. 나는 프로그래밍 방식으로 글꼴, 버튼 등을 스케일링하고있다. 유일한 문제는 동일하게 유지되는 요소 사이의 제약 (간격)이다. 난 지저분 해 보였기 때문에 간격 제한을위한 콘센트를 만드는 것을 피하고 싶다. 엘리먼트를 늘릴 때 엘리먼트 사이의 간격을 비례 적으로 유지하고 싶습니다. 지금은 모든 것이 화면의 왼쪽을 기준으로 정렬됩니다. 내가 내 견해를 펴면, 모든 것이 왼쪽으로 정렬되어 있습니다. 나는 비례하여 모든 것을 펴고 싶다. 이 작업을 어떻게 수행 할 수 있습니까 (인터페이스 빌더를 사용하는 것이 좋음)?iOS - 자동 레이아웃과 비례 간격

enter image description here

답변

11

주 -이 그 일의 스케치 방법의 일종이다.

필자는 유사한 문제가있어서 내 개체 사이에 더미보기를 추가하여 문제를 해결했습니다. 더미 뷰는 뷰의 나머지 부분에 비례하여 크기를 조절할 수 있습니다. 그러면 객체 간의 간격이 전체 크기와 적절하게 조정됩니다. 내 더미 뷰의 숨겨진 속성을 설정하여 표시되지 않도록했습니다 (참고 - 여전히 숨겨져있을 때 올바르게 레이아웃됩니다).

희망이 있습니다.

편집 :

이 방법 불완전한 (당신이 외부 전망 IB를 혼란해야)하지만, @sha 말한다처럼 그것을 끝낼 수있는 유일한 방법이 될 것으로 보인다. 다른 사람들도 비슷한 조언을 해왔습니다. 내가 도움이 될 수 이러한 참조 건너 온 :

AutoLayout to keep view sizes proportional

AutoLayout: layout consistency with proportional element spacing with 3.5" and 4" screens

+0

내가 아는 한 그러한 레이아웃을 수행하는 유일한 방법은 – sha

+2

입니다. 사실, 애플이 그 방법을 권장합니다. 지금 당장은 찾을 수 없지만 WWDC 자료의 비디오에는 이러한 방식으로 구현 한 비디오가 있습니다. –

+0

아, 잘 알고 있습니다. – thekwiat

8

더미 전망을 ??? 농담 이겠지. 그것이 애플이 권장하는 것이라면, 나는 그들에게 존경심이 없다.

당신이 명확하게 찾고있는 것은 중앙 수평 (센터 X 정렬) 제약하고 다음 방금 0에서 일정하게 유지하면서 승수 함께 플레이해야합니다

enter image description here

이 승수 간다 0-2

1 will place the center of the subview at the center of the superview. 
0 will place the center of the subview at the left edge of the superview. 
2 will place the center of the subview at the right edge of the superview. 
0.5 will place the center of the subview at 25% through the superview. 
1.5 will place the center of the subview at 75% through the superview. 

모든 수평 공간 제약 조건을 제거하십시오. 항상 제약 조건의 상수는 0으로 설정해야합니다.

Apple은 고유 한 해상도에 집착합니다. 디자인이 다른 화면 크기에 맞게 조정되는 것을 원하지 않습니다. 그들을 조이십시오. 축소 된 해상도.

+1

정확히 말하자면 고정 된 공간에 비례 성을 사용하지 마십시오. –

+1

이것은 표시된 답변이어야하며 구현하기가 매우 쉽습니다. – Leon

관련 문제