[ios] iOS 자동 레이아웃 : 너비가 같은 두 개의 버튼, 나란히

현재 AutoLayout에 문제가 있습니다. 인터페이스 빌더를 사용하고 있으며 다음 이미지와 같이 너비가 같은 두 개의 버튼을 나란히 배치하려고합니다.

객관적인 레이아웃

다음 미리보기 이미지에서 내 titleImage가 올바르게 제한되고 올바르게 표시되지만 버튼은 그렇지 않습니다. 나는 button 1을 titleImage의 앞쪽 가장자리에 맞추고 button2를 titleImage의 뒤쪽 가장자리에 맞추는 실험을 해봤지만, 아래에 설명 된 것처럼 두 버튼 사이의 너비 분포가이 시점에서 왜곡됩니다.

문제 시나리오

내 목표는 어떤 제약이 빠졌는지 이해하는 것이며 장치에 관계없이 동일한 너비를 유지하기 위해 두 개의 버튼에 적용되어야합니다. 가능하다면 추가 코드가 아닌 인터페이스 빌더를 통해이 작업을 수행하고 싶습니다.



답변

다음 제약을 추가합니다.

  1. button1에서 button2까지 동일한 너비를 지정합니다.
  2. 두 버튼 사이에 수평 간격을 지정합니다.
  3. button1의 선행 공백을 수퍼 뷰에 할당합니다.
  4. button2의 후행 공백을 수퍼 뷰에 지정하십시오.
  5. 두 버튼에 상단 공간을 할당합니다.

    그것이 당신을 위해 작동하는지 알려주십시오.


답변

쉬운 해결책을 위해 단계와 스크린 샷을 따르십시오


1 단계)

  • 버튼 1의 경우 : 제약 조건 설정 : (1) 선행, (2) 필요에 따라 상단 또는 하단, (3) 높이


2 단계)

  • 버튼 2의 경우 : 제약 조건 설정 : (1) 트레일 링, (2) 필요에 따라 상단 또는 하단, (3) 높이

3 단계)

  • Ctrl + 버튼 1에서 버튼 2로 드래그

  • 수평 간격 선택


4 단계)

  • 두 버튼 (명령 사용)을 모두 선택하고 동일한 너비의 구속 조건 추가


산출

도움이 되었기를 바랍니다 🙂


답변

iOS9의 스택 레이아웃은 정말 좋은 일을 할 것입니다. 보기에 스택보기를 추가하고 다음과 같이 구성하십시오.

여기에 이미지 설명 입력


답변

내 예를 확인할 수 있습니다. 비례 제약을 사용하여 쉽게 조준 할 수 있습니다. 또한 비례 다중 UIView를 쉽게 조준 할 수 있습니다. 첨부 된 예를보세요

https://dl.dropboxusercontent.com/u/48223929/TestViewController.xib


답변

내 해결책은

  1. 두 개의 버튼 중간에 작은 뷰를 놓고 가운데로 만듭니다 (컨테이너의 수평 중심과 컨텐 너의 수직 중심을 0으로).
  2. 작은보기에 높이와 너비를 추가합니다.
  3. 제약 조건에 버튼을 추가하고 작은보기에 수평 공간 제약을 부여합니다.
  4. 작은보기 배경색을 단추 또는보기의 색상과 동일하게 지정하십시오.

참고 : 스크린 샷을 참조하십시오.

여기에 이미지 설명 입력


답변