Как сохранить масштаб и видимую область для MKMapView во время изменения ориентации?

68
6

Я использую MKMapView на одной из моих карт. Скажем, я увеличиваю масштаб изображения в области на портрете, и после того, как я изменил ориентацию устройства, я хочу, чтобы карта показывала ту же область, что и до поворота.

Я попытался сохранить Region и VisibleMapRect перед вращением (из метода WillRotate) и применить его обратно после завершения вращения (в методе DidRotate).

Но он работает не так, как ожидалось. Поскольку в портретной ориентации видимая область больше похожа на квадрат, когда я применяю эту видимую область в ландшафте, некоторое дополнение добавляется в обе стороны к карте, так как теперь карта имеет большую ширину. Так что в основном видимый регион увеличивается. Теперь, если я поворачиваю устройство на портрет, он пытается установить эту увеличенную видимую область, а не исходную квадратную область.

спросил(а) 2018-05-31T10:32:00+03:00 2 года, 2 месяца назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема