2016-10-20 14 views
8

Tôi muốn sử dụng Chế độ xem bộ công cụ xem bản đồ có chế độ xem phụ của Trình điều khiển chế độ xem chỉ chiếm một phần của màn hình, thay vì xem toàn màn hình.MKMapView và vấn đề AutoLayout

Tôi không chắc chắn nếu sau đây là lỗi mà tôi nên báo cáo hoặc nếu tôi thiếu một số kiến ​​thức quan trọng về cách sử dụng Chế độ xem bản đồ Kit. Cách dễ nhất để giải thích vấn đề là thông qua hình ảnh.

Trong ảnh chụp màn hình đầu tiên, tôi đã thiết lập hai bản xem trước, UIImageView và MKMapView, trên một Trình điều khiển xem trống khác bằng Trình tạo giao diện. Cả hai bản xem trước đã bị hạn chế theo cùng một cách, tức là chiều cao, chiều rộng, bị giới hạn ở đầu hoặc cuối của người giám sát của họ và theo chiều ngang trong vùng chứa. Xcode không có lỗi.

Ảnh chụp màn hình trước khi phát hành: enter image description here

Ảnh chụp màn hình thứ hai là sau khi tôi khởi động lại Xcode. UIImageView giống nhau, tuy nhiên MKMapView đã tăng chiều rộng và chiều cao lên 1.000. Xcode cung cấp lỗi sau: Vị trí chiều cao và chiều dọc không rõ ràng cho "Chế độ xem bản đồ". Cập nhật khung không phục hồi bố cục chính xác. Để khắc phục vấn đề này, MKMapView cần phải được thay đổi kích thước theo cách thủ công để vừa với ViewController, sau đó việc cập nhật các khung sẽ khôi phục bố cục để hiển thị trong ảnh chụp màn hình đầu tiên. Khởi động lại Xcode làm cho vấn đề lặp lại.

Ảnh chụp màn hình sau khi khởi động Xcode: enter image description here

Tôi đang sử dụng phiên bản mới nhất của Xcode 8 có sẵn từ App Store.

Cập nhật:
Lỗi này đã được cố định trong Xcode 8.1

+0

Có vẻ loại lỗi trong xcode –

Trả lời

3

Điều này có vẻ là một lỗi và cho workaround bạn có thể thêm một UIView đơn giản thay vì MKMapKit và sau khi thêm những hạn chế thay đổi lớp nhìn từ UIView đến MKMapView. Mặc dù bạn sẽ không thể đặt thuộc tính của chế độ xem bản đồ này từ bảng phân cảnh nhưng bạn có thể đặt thuộc tính trong mã bằng cách sử dụng lối ra của bản đồ.

enter image description here

tôi yêu cầu bạn nêu vấn đề này như lỗi @https://bugreporter.apple.com

+1

XCode 8.2.1 - Tôi không có kết thúc vấn đề với MapView và tự động bố trí. Cụ thể là cố gắng nhúng một Bản đồ bên trong một StackView - MapView không bao giờ đăng ký chiều cao chính xác hoặc cố gắng ghi đè bằng Height = 9M! Đây là giải pháp duy nhất cập nhật đúng với các thay đổi về định hướng và bố cục. – MandisaW

Các vấn đề liên quan