私は大学のプロジェクト用のiPhoneアプリケーションを開発しています。私はAppleのMapCalloutsコードを見てきましたが、実装するのは実現可能ではありません。私の地図の吹き出しはクリックされたとき画像を表示しません
これまでのところ、私のコードは地図を表示し、注釈を落とし、タイトルを表示し、正しい呼び出しボタンを表示します。しかし、これは私が問題に遭遇するところです。
吹き出しボタンを押すと、空の表示コントローラーが表示されますが、タップされた吹き出しごとに別の画像が表示されるはずです。これはこれまで行われていません。
私は以下の私のコードを追加しました:
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view
calloutAccessoryControlTapped:(UIControl *)control
{
//NSUInteger tag = ((UIButton *)control).tag;
if (self.detailController==nil)
{
DetailViewController* detailViewController = [[DetailViewController alloc] init];
[self.navigationController pushViewController:detailViewController animated:YES];
}
// self.detailController.tag =1; //to identify image required
// self.detailController.tag = tag;
[self.navigationController pushViewController:detailController animated:YES];
}
吹き出しボタンが押されたときに呼び出されるメソッドを表示します。質問を編集し、コードを追加します。 – Anna
detailControllerは全く表示されていますか?また、detailControllerがnilの場合、現在のコードは2回押されることに注意してください。これは実際のコードですか( 'detailController'と' detailViewController'を持っていますか?)アノテーションを識別するためにタグを使用する代わりに、view.annotationで直接利用できます。例については、http://stackoverflow.com/questions/8256288/how-to-pass-sender-tag-in-detailview-to-get-default-map-application-for-directioおよびhttp:// stackoverflowを参照してください。 com/questions/7921106/mkmapview-max-number-of-annotations – Anna
アプリを実行すると、コールアウトアクセサリがタップされたときにビューがロードされますが、イメージが表示される黒い空白の画面が表示されますまた、次のエラーが表示されます。アプリケーションがターゲット上のnil View Controllerをプッシュしようとしました。