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 の直接のサブクラスは問題なく動作しているようです。私はこのように回避できますが、以前にやったことがあるので、まだ非常に奇妙に思えます。