У меня есть MKMapView как часть контроллера навигации в приложении, основанном на панели вкладок.
Я нажимаю кнопку UIB на первом контроллере представления, и он выдвигается ко второму контроллеру представления, который содержит MKMapView.Когда загружается представление карты, оно увеличивает местоположение пользователя, используя:
- (void)mapView:(MKMapView *)theMapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
if ( !initialLocation )
{
self.initialLocation = userLocation.location;
MKCoordinateRegion region;
region.center = theMapView.userLocation.coordinate;
region.span = MKCoordinateSpanMake(2.0, 2.0);
region = [theMapView regionThatFits:region];
[theMapView setRegion:region animated:YES];
}
}
Когда я нажимаю кнопку «Назад» на контроллере навигации над представлением карты и затем нажимаю кнопку «Назад» к карте, она больше не увеличивается вв текущем местоположении пользователя, но только с полным уменьшением по умолчанию:
Вот изображение вида во второй раз.
Я полагаю, что это будет работать правильно, еслиЯ мог бы как-то вызвать didUpdateUserLocation в методе viewDidAppear, но я не уверен, как это осуществить, так как didUpdateUserLocation является методом делегата.
Это правильный подход или есть другой подход, который я должен использовать, чтобысделай это?Спасибо!
PS Я видел этот вопрос, но он немного отличается от использования контроллера модального вида