Я загружаю контроллер вида карты, когда кнопка просмотра карты нажата на моем главном контроллере:
- (IBAction)mapButton:(id)sender {
MapKitDisplayViewController *mapKitDisplayView = [[MapKitDisplayViewController alloc] init];
[self presentModalViewController:mapKitDisplayView animated:YES];
[mapKitDisplayView release]; mapKitDisplayView = nil;
}
При запуске этого вида карты вызывается этот метод, который корректно увеличивает местоположение пользователя:
- (void)mapView:(MKMapView *)myMapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
myMapView.showsUserLocation = YES;
NSLog(@"didUpdateUserLocation = '%@'", userLocation);
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([userLocation coordinate], 20000, 20000);
[myMapView setRegion:region animated:YES];
}
У меня есть кнопка «Готово» на этом экране, которая отклоняет это представление:
- (IBAction)mapDoneButton:(id)sender
{
[self dismissModalViewControllerAnimated:YES];
}
На этом этапе пользователь возвращается к контроллеру основного вида, однако, когда я снова нажимаю кнопку карты вида, метод didUpdateUserLocation никогда не вызывается! Следовательно, вид карты уменьшен до стандартного и не будет увеличиваться, как раньше.
Как я могу заставить его быть вызванным снова?
спасибо