2016-10-20 3 views
8

맵 키트보기를 사용하려면 전체 화면보기 대신 화면의 일부분 만 차지하는 View Controller의 하위보기가 있습니다.MKMapView 및 AutoLayout 문제

다음과 같은 버그가보고해야하거나 맵 키트보기 사용법에 대한 중요한 지식이 누락 된 경우 확실하지 않습니다. 이 문제를 가장 쉽게 설명하는 방법은 그림을 통해서입니다.

첫 번째 스크린 샷에서는 Interface Builder를 사용하여 그렇지 않은 빈 View Controller에서 두 개의 하위 뷰인 UIImageView와 MKMapView를 설정했습니다. 두 하위 뷰 모두 높이, 너비, 수퍼 뷰의 맨 위 또는 맨 아래 및 컨테이너에서 가로로 구속 된 동일한 방식으로 구속되었습니다. Xcode는 오류를주지 않습니다. 문제 이전

스크린 샷 : 나는 엑스 코드를 다시 시작한 후 enter image description here

두 번째 스크린 샷입니다. UIImageView는 동일하지만 MKMapView의 너비와 높이가 1,000으로 증가했습니다. Xcode에서 다음 오류를 표시합니다. "지도보기"에서 높이와 수직 위치가 모호합니다. 프레임을 업데이트해도 올바른 레이아웃이 복원되지 않습니다. 이 문제를 해결하려면 MKMapView를 수동으로 크기를 조정하여 ViewController에 맞게 조정해야합니다. 그러면 프레임을 업데이트하면 첫 번째 스크린 샷에 표시된 레이아웃으로 레이아웃이 복원됩니다. Xcode를 다시 시작하면 문제가 반복됩니다. 다시 시작 엑스 코드 후

스크린 샷 : 내가 앱 스토어에서 Xcode를 사용할 수 (8)의 최신 버전을 사용하고 enter image description here

.

는 업데이트

:이 버그는 엑스 코드에서 수정되었습니다
8.1

+0

@ 버그로 인상 요청은 엑스 코드 –

답변

3

이 버그를 보인다 해결을 위해 대신 MKMapKit과 제약 조건을 추가 한 후 간단한에 UIView를 추가 뷰의 클래스를 변경할 수 있습니다 UIView ~ MKMapView. 스토리 보드에서이지도보기의 속성을 설정할 수는 없지만 콘센트를 사용하여 코드에서 설정할 수는 있습니다.

enter image description here

난 당신이 https://bugreporter.apple.com

+1

엑스 코드 8.2.1에 버그의 종류를 보인다 - 나는지도보기 및 자동 레이아웃 문제의 끝이 없었다. 특히 StackView 내부에 Map을 삽입하려고 시도한 적이 있습니다. MapView는 결코 정확한 높이를 등록하지 않았으며 Height = 9M으로 오버라이드하려고 시도했습니다! 오리엔테이션 및 레이아웃 변경으로 올바르게 업데이트되는 유일한 솔루션입니다. – MandisaW