在 UIViewController 中,我将 MKMapView 添加到控制器控制的视图中。
- (void)viewDidLoad {
[super viewDidLoad];
CGRect rect = CGRectMake(0, 0, 460, 320);
map = [[MKMapView alloc] initWithFrame:rect];
map.delegate = self;
[self.view addSubview:map];
}
后来在控制器中我有
- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView
{
NSLog(@"done.");
}
完成永远不会被打印出来。其他委托方法都不会像 mapView:viewForAnnotation 那样被调用:我在另一个应用程序中使用 MKMapView,但这似乎发生在我制作的任何新应用程序上。有没有其他人看到过这种行为?
编辑:
问题似乎是当 UIViewController 成为 MKMapView 的代表时,NSObject 的直接子类似乎可以正常工作。我可以像这样工作,因为我以前做过,所以看起来仍然很奇怪。