- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:YES];
self.mapView.frame = self.view.bounds;
self.mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
CLLocationCoordinate2D startCoord = CLLocationCoordinate2DMake(36.7472, -95.9594);
MKCoordinateRegion adjustedRegion = [self.mapView regionThatFits:MKCoordinateRegionMakeWithDistance(startCoord, 10000*1609.344, 10000*1609.344)];
[self.mapView setRegion:adjustedRegion animated:YES];
}
Это код, который у меня есть прямо сейчас. Когда я изменяю ориентацию своего iPad от пейзажа к портрету, размер карты не меняется. Я бы хотел, чтобы он заполнил весь вид. Я попытался найти google и stackoverflow для решения, но мне не повезло.Как автоматически изменить размер mkmapview, чтобы заполнить весь экран при изменении ориентации?
Любая помощь была бы чрезвычайно оценена.
Я пробовал это. Это ничего не изменило. – Beebunny
Вы используете автозапуск? Я предполагал, что вы не были с тех пор, как вы устанавливали кадр вручную, но, возможно, вы и этот начальный набор кадров не имеет никакого эффекта. Это также остановило бы дальнейший ручной макет. Также попробуйте поставить точку останова на viewWillLayoutSubviews и посмотреть, даже ли она работает, и если self.mapView не равен нулю. – jsd
спасибо jsd! autoresizingMasks были медленными, это сработало чудеса. – antiblank