Как я могу соответствовать просмотру карты, используя Авторазмер в iOS?

Сейчас я работаю над старым проектом, клиент хочет добавить обновление для этого проекта. Я недавно добавил один viewController для показа mapview, но это представление карты не может поместиться на экране, как iphone6 ​​и т. д. Это приложение использует автоматическое изменение размера для изменения размера различных видов. Я установил свойство автоматического изменения размера для соответствия отображению карты на экране, я пробовал как программно, так и xib. Но это не работает. Как я могу решить эту проблему? Вопрос? Пожалуйста, помогите мне.

_mapView.autoresizesSubviews = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

или же

Авторазмер собственности для Mapview

введите описание изображения здесь

введите описание изображения здесь

2 ответа

С использованием autoLayout это не вариант, так как это старый проект, и миграция - огромная задача, я настоятельно рекомендую вам установить фрейм для mapView с помощью кода.

Например, согласно предоставленному скриншоту, представление имеет панель поиска, которая остается сверху, и mapView должен занимать все оставшееся свободное пространство. Вы можете кодировать его следующим образом:

  1. Создать торговые точки для mapView а также searchBar
  2. Установить кадр из mapView лайк

    CGSize superViewFrameSize = self.view.bounds.size;
    CGSize searchBarFrameSize = self.searchBar.bounds.size;
    CGRect mapviewFrame = CGRect mapviewFrame = CGRectMake(0, searchBarFrameSize.height, superViewFrameSize.width, superViewFrameSize.height - searchBarFrameSize.height);
    self.mapView.frame = mapviewFrame;
    

Код принимает размер superView а также searchBar и держит его во временных переменных. Затем создайте CGRect переменная для хранения нового кадра mapView, Поместите mapView ниже searchBar установив его происхождение как высоту searchBar, Установить ширину mapView быть таким же, как его superView, Установить высоту mapView как уменьшенная высота searchBar от его superView,

Надеюсь это поможет:)

Вы должны использовать автоматическое расположение и установить ограничения.

Автоматическая разметка теперь используется по умолчанию, поэтому, если вы все еще хотите работать с распорками и пружинами, вам необходимо отключить ее из инспектора файлов.xib:

отключение автоматической разметки из инспектора файлов

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