Как я могу соответствовать просмотру карты, используя Авторазмер в iOS?
Сейчас я работаю над старым проектом, клиент хочет добавить обновление для этого проекта. Я недавно добавил один viewController для показа mapview
, но это представление карты не может поместиться на экране, как iphone6 и т. д. Это приложение использует автоматическое изменение размера для изменения размера различных видов. Я установил свойство автоматического изменения размера для соответствия отображению карты на экране, я пробовал как программно, так и xib. Но это не работает. Как я могу решить эту проблему? Вопрос? Пожалуйста, помогите мне.
_mapView.autoresizesSubviews = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
или же
2 ответа
С использованием autoLayout
это не вариант, так как это старый проект, и миграция - огромная задача, я настоятельно рекомендую вам установить фрейм для mapView с помощью кода.
Например, согласно предоставленному скриншоту, представление имеет панель поиска, которая остается сверху, и mapView должен занимать все оставшееся свободное пространство. Вы можете кодировать его следующим образом:
- Создать торговые точки для
mapView
а такжеsearchBar
Установить кадр из
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: