2017-04-26 17 views
0

, 세로 방향에있는 UIImageView의 영역을 극대화 슈퍼 뷰의 중심 위를 유지 :어떤 작품 Y 포인트

내가 가로 방향의 경우 왼쪽에있는 UIImage를 가지고있는 UIViewController가 있습니다. 가능한 한 이미지를 크게하고 싶지만 장면의 왼쪽 절반을 넘어서는 안됩니다. superview의 "Center X Between Margins"값이 항상 이미지의 트레일 링 에지보다 크거나 같아야한다는 제약 조건을 추가하여이 작업을 수행 할 수 있습니다.

작동하지 않습니다 무엇 :

마찬가지로, 같은있는 UIImage는 세로 방향으로 장면의 맨 위에 있어야합니다. 이미지는 커야하지만 장면의 위쪽 절반 아래로 확장되지 않아야합니다. 나는 superview의 "Center Y Between Margins"값이 이미지의 아래쪽 가장자리보다 크거나 같아야한다는 제약 조건을 추가 할 것으로 예상했으나이를 어떻게해야하는지 명확하지 않습니다. 이미지에서 수퍼 뷰로 Ctrl 키를 누른 채 드래그하면 이미지의 하단과 "하단 레이아웃 가이드. 상단"사이에 구속 조건이 만들어집니다. Size Inspector에서 Superview.CenterYWithinMargins로 교체 할 수있는 옵션을 확인했지만 운이 없었습니다.

크기 검사기로 이동하여 "하단 레이아웃 가이드 탭"을 클릭하면 "센터 Y"옵션이 있지만 회색으로 표시됩니다. 나는 Bottom Layout Guide가 사용할 객체가 아니라 다른 객체를 지정하는 메커니즘을 찾지 못했다고 생각합니다.

질문 :

무엇 UIImageView에 제한하는 가장 좋은 방법 (또는 뷰가 그 문제에 대해)입니다 그래서 아래쪽 가장자리가 superviews 센터 Y 아래로 연장하지 않는거야?

가로축 제약 옵션이 세로 제약 옵션과 너무 다른 이유는 무엇입니까?

감사합니다.

답변

1

의 첫 번째 제안으로 시작하자 :

내가 이미지를 가능한 한 크게 설정할 수 있습니다,하지만

당신은 정확하게 설명하지 않은 왼쪽 절반 장면 넘어 확장 안 이미지 뷰가 있어야하지만 토론의 목적 상 왼쪽 상단에 있다고 가정합니다. 1/2

의 승수와 폭 수퍼 동일하게 설정

  • 폭을 왼쪽 수퍼 고정 왼쪽

  • 최고 수퍼에 고정

    • 상단 있지만 : 그럼이 네 가지 제약이있을 것이다

    • 가로 세로 비율 (너비와 높이 사이의 비율)은 이미지 자체의 종횡비로 설정합니다.

    이제 두 번째 제안을 보자 :

    을 세로 방향으로 장면의 상단에.이미지는 커야하지만 장면의 위쪽 절반 아래로 확장되지 않아야합니다.

    또 다시 왼쪽 상단에 있다고 가정합니다. 그런 제약은 : 고정

    • 최고 높이 수퍼 같게 설정

    • 높이 남아 수퍼 고정 왼쪽

    • 가기 수퍼하지만 1/2

    • 의 배율로 할

      가로 세로 비율 (너비와 높이의 비율)을 이미지의 가로 세로 비율로 설정합니다.

    위에서 알 수 있듯이 가로 및 세로 사이의 회전시 하나의 제약 조건을 교체해야합니다. 그리고 이것은 코드없이 구성 될 수 있습니다 (iPhone의 경우, iPad의 경우 스왑을 만들기 위해 코드가 필요함).

    다음은 결과의 스크린 샷입니다.

    enter image description here

    풍경에서, 우리는 왼쪽 절반을 넘어 확장되지 않습니다 : 세로, 우리는 정상의 절반 이하로 확장되지 않는 경우

    enter image description here

  • +0

    하면 어떤 일이 아닙니다 문제는 당신이 충분히 설명하지 못했다는 것입니다. 그것을 더 잘 묘사하면 나는 기꺼이 수정할 것입니다. – matt

    +0

    고마워, 매트! 곱셈기의 사용은 절대로 발생하지 않았습니다. 귀하가 요청한 데이터를 제공하지 않은 것에 대해 사과드립니다. "충분히 제공하는 것"과 "너무 많이 입히는 것"사이에는 균형 잡힌 균형이 있습니다! –