2014-06-17 5 views
0

자동 레이아웃을 배우려고합니다. 다음은 autolayout을 사용하여 구현하려는 간단한 UIView 요소입니다. 제약 조건이 xib에 추가됩니다. 모든 것이 인물 모드에서 잘 작동하지만, 가로 모드에서는 파란색 항목이 찌그러집니다.자동 레이아웃을 사용하여 xib 요소의 너비를 조정하십시오.

  1. 가로 모드에서이 푸른 색 아이템을 만들어서 높이 공간을 좀 더 넓게하려면 어떻게해야합니까? 우리가 배급 (30:70) 또는

(40:60)에 청색 항목의 녹색 항목 폭을 어떻게

  • 내가 제약 콘센트를 확인하고 런타임에 값을 정의해야합니까 .

    PortraitLandscape

  • +0

    어쩌면 당신은 푸른 색보기를 위해 내용 압축 저항을 "필수"로 설정해야 할 수도 있습니다. – Zhang

    +0

    @ Zhang 나는 그것을 시도했다. 변경 없음 . 모두 xib의 색상 요소는 UIView뿐입니다. – Nassif

    답변

    1

    당신은 빨간 블록, 갈색 블록, 그들과 파란색과 빨간색 블록과 용기 사이의 거리 사이의 거리에 대한 고정 높이를 설정했습니다. 파란색 블록을 뭉개 버릴 수 밖에 없습니다.

    원하는 것을 원하십니까? 갈색 블록이 짧아 져야합니까? 빨간색 차단해야합니까? 그런 다음 높이 제한을 제거해야합니다. 아마도 당신은 갈색과 파란색 블록을 같은 높이로 설정할 수 있습니다.

    두 번째 질문의 의미가 확실하지 않습니다. 녹색 블록 너비와 파란색 블록 너비의 비율을 70:30으로하려면 동등한 너비에 대한 제한을 설정 한 다음 배율을 편집하십시오. 예를 들어, 파란색 너비는 녹색 너비 * 3/7과 같습니다. IB에서 비율 구문 (70:30)을 사용하여 실제로 배율을 설정할 수 있습니다.

    +0

    Ken. 감사합니다. 세 번째 점은 크게 작용했습니다 (비율 관계). 갈색 블록과 파란색 블록에 관해서는 내가 원하는 것은, 가로 모드에서, 나는 너비가 같거나 비율이 같을 필요가있다. – Nassif

    +0

    이 경우 승수와 상수의 역할은 무엇입니까 – Nassif

    +0

    너비가 아니라 높이를 의미한다고 가정합니다. 좋아요, 당신이 좋아하는 비율로 두 개의 높이 사이의 구속 조건을 설정하십시오. 갈색 블록에 고정 된 높이를 설정하는 제한 조건을 제거해야합니다. 빨간색 블록과 갈색 블록 사이의 간격을 일정하게 유지하고 갈색 블록과 파란색 블록 사이의 간격을 일정하게 유지하려면 제한 조건이 필요합니다. 스크린 샷에서 알기는 어렵지만 이미 가지고있을 수 있습니다. –