その後、除去した後selectAnnotationが再addingAnnotation
-
26-09-2019 - |
質問
すべてのねえ、私はiPhoneのためのmapKit程度密質問の多少ました。
私はMapKitフレームワークと私は基本的には、ピンをクリックして、それをリロードし、それが再び追加された後、それの吹き出しが表示されるやろうとしているを使用しています。
これは..私は仕事に取得しようとしているコードです。
-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view{
NSLog(@"count of selected Annotations: %d",[mapView selectedAnnotations].count);
MKAnnotation* pin = view.annotation;
[mapView deselectAnnotation:pin animated:FALSE];
[mapView removeAnnotation:pin];
[mapView addAnnotation:pin];
[self.mapView selectAnnotation:pin animated:TRUE];
いくつかの所見:私はremoveAnnotationsとaddAnnotationラインをコメントアウトした場合、私は私selectAnnotationときので、無限ループを入力します。ピンは、(この方法です)コールバックが呼び出される...そう、それはありませんが、そして、何がありますか?理由ではありません。
[self.mapView selectAnnotation:pin animated:TRUE];
と呼ばれている?
私はすでにあまりにも多く読み、説明と私のコードへの修正は、リンクよりもはるかに参考になることをこれを理解しようとしてあまりにも多くの時間のために私の頭を壊してきます。
事前に感謝します。 〜Fydo
解決
私は自分の質問に答えましたので、以下のように
...それは、最も簡単な方法は、それをクリックすると、注釈を変更すると思われます。
-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view{
MKAnnotation* pin = view.annotation;
UIImageView * blackPin = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"PinUnchecked.png"]];
[[mapView viewForAnnotation:pin] addSubview:blackPin];
このデリゲートメソッドは、annotationViewバブルが表示され、annotationViewはそれのイメージが変わります...どの私は必要なすべてが行われます...
、呼び出されます所属していません StackOverflow