Xcode의 Interface Builder에서 제약 조건 / 자동 레이아웃을 사용하여 이미지와 글꼴의 크기를 올바르게 조정하려면 어떻게해야합니까?

Tjgrant

Xcode의 Interface Builder에서 다음과 같은 사용자 인터페이스를 만들려고합니다.

  1. 변경되는 장치의 너비에 따라 뷰의 크기를 조정합니다 (화면 크기 조정).
  2. 이미지는 종횡비에 따라 크기가 조정됩니다 (늘어 지거나 축소 된 이미지 없음).
  3. 글꼴 크기가 선형으로 조정됩니다.
  4. 하나의 디자인에서 무언가가 수평 중앙에있는 경우 모든 디자인에서 중앙에 위치해야합니다.

간단한 목표, 제 생각에는… 이전에 사용자 정의 코드를 사용하여이 모든 것을 프로그래밍 방식으로 수행했지만 "올바른 방법"으로 수행하고 Interface Builder에서 올바르게 설계하고 모든 레이아웃을 처리하도록하겠습니다.

Interface Builder에서 다음과 같은 소형 폼 팩터 iPhone 용 화면을 디자인했다고 가정 해 보겠습니다.

원래 레이아웃

이제 iPhone 4s 장치에 만족하고 더 새롭고 더 큰 iPhone 폼 팩터의 너비에 비례하여 모든 것을 확장하고 싶습니다.

이전의 "스프링 및 스트럿"방법을 사용한다면 거의 모든 것이 높이 방향으로 늘어난다는 점을 제외하면 더 큰 폼 팩터에서 원하는 것을 얻을 수 있습니다 (단순히 원래 디자인의 너비와 높이의 종횡비를 기반으로하지 않음). ) 특히 "로고 이미지"가 너무 크게 늘어난 것을 알 수 있습니다. 그리고 글꼴은 레이블이나 버튼에서도 크기가 조정되지 않습니다.

변경없이 확장

I've also tried using "constraints", particularly just tackling the issue of image scaling proportionally, basing it on the aspect ratio of the container, and am not having any luck whatsoever.

Here I reset the springs and struts to their defaults, and add constraint to the original design's logo image:

종횡비 제한이있는 원본 로고

Looking at the larger form factor, nothing has in fact changed:

종횡비가있는 더 큰 폼 팩터

(And yes, despite the fact there's layout errors reported, "fixing" them in any way has no net effect on the scaling / lack of scaling in the image.)

So just to restate-- how do I do the following with Xcode / Interface Builder constraints?

  1. It scales views based on the width of the device changing (aspect scaling)
  2. Images are scaled by aspect ratio (no stretched or squashed images)
  3. Fonts are scaled linearly
  4. 하나의 디자인에서 무언가가 수평 중앙에있는 경우 모든 디자인에서 중앙에 위치해야합니다.

미리 감사드립니다.

elk_cloner
  1. 변경되는 장치의 너비에 따라 뷰의 크기를 조정합니다 (화면 크기 조정).
  2. 이미지는 종횡비에 따라 크기가 조정됩니다 (늘어 지거나 축소 된 이미지 없음).

당신이 할 수있는 일은 가로 세로 비율을 사용하여 너비와 높이를 만드는 것입니다.

수퍼 뷰에 승수를 추가했습니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

여기에 이미지 설명 입력

  1. 글꼴 크기가 선형으로 조정됩니다.

나는 이와 같은 레이블을 설정했습니다.

여기에 이미지 설명 입력

그리고 속성 관리자에서 다음과 같이 설정했습니다.

여기에 이미지 설명 입력

  1. 하나의 디자인에서 무언가가 수평 중앙에있는 경우 모든 디자인에서 중앙에 위치해야합니다.

모든보기가 가운데 정렬됩니다.

여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관