マップビューコントローラをビルドしても問題ありません。マップ上でアノテーションビューを選択すると、カスタムビューが画面に表示され、そのアノテーションに関する情報が表示されます。マップをタップすると、注釈ビューの選択が解除され、カスタム表示が非表示になります。did地図ビューでタップしたときにDeselectAnnotationViewが呼び出されない
私は、ビューに一つだけの注釈がある場合、マップビューコントローラが押し込まれたときに、カスタムビューを示すことが、今の要件を得る。だから私は単に
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
たときに、マップビューを実装ロードを完了しました。
- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView {
if (self.viewModel.pointsArray.count == 1) {
GSMapsLocationPoint* point = self.viewModel.pointsArray.lastObject;
MKAnnotationView *annotationView = [self.mapsView viewForAnnotation:point];
[self mapView:self.mapsView didSelectAnnotationView:annotationView];
}
}
しかし、私が地図をタップすると、- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
は呼び出されません。その注釈ビューを手動でタップすると、didSelectAnnotationView
が正しく呼び出されます。
コード内でdidSelectAnnotationView
というコールがいくつかのステータスを変更していないように見えるので、マップビューでは注釈ビューが選択されていることがわかりません。
どうすればこの問題を解決できますか?前もって感謝します。
これは機能します。どうもありがとう! – highsun16