Мой заголовочный файл:
@interface MapViewController : UIViewController <MKMapViewDelegate, NSFetchedResultsControllerDelegate>
{
MKMapView *mapView;
NSFetchedResultsController *fetchedResultsController;
NSManagedObjectContext *managedObjectContext;
}
@property (nonatomic, retain) MKMapView *mapView;
@property (nonatomic, retain) NSFetchedResultsController *fetchedResultsController;
@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;
Я также синтезирую в моем файле .m.
В моей функции viewDidLoad у меня есть это (представление исчезает через анимацию вродительский контроллер):
- (void)viewDidLoad
{
[super viewDidLoad];
mapView = [[MKMapView alloc] initWithFrame:self.view.frame];
mapView.mapType = MKMapTypeSatellite;
mapView.delegate = self;
self.view = mapView;
[self.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
self.view.alpha = 0.0;
MKCoordinateRegion region;
MKCoordinateSpan span;
region.center.latitude = 42.764705;
region.center.longitude = -94.047375;
span.latitudeDelta=.02;
span.longitudeDelta=.02;
region.span = span;
[mapView setRegion:region animated:YES];
NSLog(@"Change this1");
}
Это прекрасно работает.
У меня есть другая функция:
- (void)setInitialMapView
{
MKCoordinateRegion region;
MKCoordinateSpan span;
region.center.latitude = 32.764705;
region.center.longitude = -84.047375;
span.latitudeDelta=50.0;
span.longitudeDelta=50.0;
region.span = span;
[mapView setRegion:region animated:YES];
NSLog(@"Change this 2");
}
Я вызываю эту вторую функцию, когда анимация завершена.
Эта вторая функция НЕ меняет регион карты, но печатает в журнал.Итак, функция вызывается.
Что я здесь не так делаю?