2014-11-05 2 views
0

위의 네비게이션 바 (상단의 흰색 상자)와 하단의 툴바 (그림의 주황색 상자)를 보여주는이 viewController가 있습니다.남은 공간을 중심으로보기 만들기

navigationBar가 iOS가 viewController에 추가하는 항목이기 때문에 viewController가 표시되면 self.view의 높이가 스크린 크기에서 44 포인트를 뺀 것으로보고됩니다.

보기에 imageView를 추가했으며 다음 그림과 같이 탐색 모음과 도구 모음간에 중앙 집중화를 원합니다. 내가 무슨 짓을

enter image description here

수직으로 이미지 뷰를 중앙 집중화하는 제약 조건을 추가했다. 그림에서 알 수 있듯이, Xcode는 imageView가 완벽하게 수직으로 중앙에 위치했음을 보여줍니다.하지만 앱 실행시 발생하는 상황이 아닙니다 (Apple에 감사드립니다).

실제 상황은 다음과 같습니다. iPhone 5에서 실행하고 있다고 가정합니다. iPhone의 5 화면 높이는 568 포인트입니다. 탐색 막대가 있기 때문에 self.view의 높이는 524pt (568 - 44)가됩니다. 제약 조건은 어리석게도 네비게이션 막대가있는 위쪽의 44 픽셀을 무시하고 네비게이션 막대의 맨 아래와 툴바의 맨 위 사이에있는 imageView를 중앙에 배치합니다. 결과적으로 imageView가 맨 아래에 가깝게됩니다.

이 이미지 뷰는 앱이 iPhone 4에서 실행될 때 도구 모음과 탐색 모음 사이의 공간을 완전히 채우기 위해 신중하게 선택됩니다.이 이미지 뷰는 종횡비 제약 조건을 준수해야합니다. 나는 수퍼 도구 모음에 바닥 제약에 상위 제약 조건을 추가하려고

enter image description here

대신 수직 중심의 제약 조건을 사용하여 이미지 뷰를 중앙 집중화의 : 정확히 같은. 즉,이 같은이 두 제약 조건이 다른 화면 비율로 이미지 뷰를 강제로 아이폰 4를 제외하고, 모든 아이폰에서 잘 작동합니다

enter image description here

을 그래서,이 이미지 뷰에 적용 할 제약 조건의 종류 종횡비를 잃지 않고 navigationBar와 툴바 사이의 공간을 중심으로 만드시겠습니까?

답변

1

네비게이션 바와 툴바 사이에 뷰의 중앙을 맞추고 싶다면 컨트롤러의 "언더 바 (Under Top Bars)"와 "언더 바텀 바 (Under Bottom Bars)"를 모두 선택 해제하십시오. 이미지보기에 centerY 구속 조건을 추가하고 길이가 0 인 구속 조건을 2면에 제공하고 마지막으로 종횡비 제한 조건을 지정합니다. 필자는 이것을 테스트했으며 모든 크기에서 1 : 1의 종횡비로 작동했습니다. 더 높은 종횡비를 원한다면 (이미지가 ~ 1 : 1.2 w : h처럼 보입니다) 3.5 인치 스크린에서 오른쪽으로 돌아가려면 몇 가지 추가 작업을해야합니다. 이미지보기가 전체 너비입니다 (상태 표시 줄이있는 것으로 가정 - 그렇지 않은 경우 3.5 "화면에서 작동해야 함). 내 대답을 편집하여 원하는 가로 세로 비율을 말하고 두 막대 사이의 최소 간격을 원하는 경우 또는 이미지 막대를 최대한 유지하면서 이미지보기를 가능한 넓게 표시할지 여부를 포함 할 수 있습니다. 가로 세로 비율 (두 개의 막대에 공백이 없음을 의미).

+0

환상적. 나는이 두 가지 옵션 (감사의 사과)을 결코 찾지 못할 것이다. 감사!!! – SpaceDog

관련 문제