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

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

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

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

0 ответов

Другие вопросы по тегам