在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];
}
Run Code Online (Sandbox Code Playgroud)
后来我在控制器中
- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView
{
NSLog(@"done.");
}
Run Code Online (Sandbox Code Playgroud)
完成永远不会被打印.其他任何委托方法都不像mapView一样调用:viewForAnnotation:我在另一个应用程序中使用MKMapView,但这似乎发生在我制作的任何新应用程序上.有没有人见过这种行为?
编辑:
问题似乎是当UIViewController成为MKMapView的委托时,NSObject的直接子类似乎工作正常.我可以像这样解决这个问题,因为我之前已经做过,所以看起来仍然很奇怪.