詳細ビューコントローラーが閉じられたことをマップビュー (マスター) コントローラーで検出するにはどうすればよいですか? ピンと注釈を含むマップビューがあります。任意の注釈で rightCalloutAccessoryView がタップされると、モーダル詳細ビュー コントローラーが performSegueWithIdentifier を介して呼び出されます。ちなみに、これが正しいかどうかはわかりませんが、Master View ControllerとDetail View ControllerはNavigation Controllerで接続されています。
私の目標は、詳細ビュー コントローラーでのユーザー アクションに基づいて、条件付きアクションをマップビュー (マスター ビュー) に戻すことです。具体的には、ピンの削除機能をタップした場合、コントロールがマップビューに戻ったときにピンを削除したいと考えています。単に [完了] ボタンをタップすると、ピンと注釈が画面に残ります。
私の限られた知識では、下の 2 行目でピンを削除できますが、問題は、rightCalloutAccessorView アイコンがタップされた直後で詳細ビューが表示される前に、ピンと注釈が削除されていることを確認できることです。つまり、ユーザーが詳細画面で [完了] ボタンをタップすると、ピンと注釈が既に削除された状態でマップ ビューに戻ります。ユーザーが [削除] ボタンをタップした場合にのみ削除します。
[self performSegueWithIdentifier:@"PinDetail" sender:self];
[self.mapView removeAnnotation:MA];
だから私の質問は本当に:
- removeAnnotation コードはどこに入れるのですか? 現在の場所では、詳細ビューが表示される前にピンの削除が行われます。
- 詳細ビューの [削除] ボタンがタップされたかどうかを検出するにはどうすればよいですか?
ありがとう。