2011-01-16 11 views
0

マップビューに複数のピンを持つ単純なマップアプリケーションがあります。私の意図は、ピンをタップし、アクセサリビューでコールアウトを表示し、そのピン/ロケーションの詳細を編集できるDetail View Controllerにプッシュすることです。これはうまくいきますが、Detail View Controllerがポップアップすると、マップビューのコールアウトはまだそこにありますが、それでもまだ古い値が残っています。 Detail View Controllerがポップアップされたら、コールアウトビューを更新/更新するにはどうすればよいですか?マップビューからプッシュされたView Controllerに入力された詳細の後にAnnotationViewコールアウトを更新する

私は単純なデータベースでコアデータを使用しています。私はcontrollerdidchangecontent、マップビューコントローラはメソッドを表示するなどを使用しようとしましたが、私の主な問題は、どのオブジェクトが追加/更新/削除されたのか、対応するコールアウト/選択されたピンです。あなたはあなたの答えが、それはMKAnnotationクラスとカスタムアノテーションを作成し、目印を作成しながら、それらを渡すを拡張することで実行する方法を見つけなければならない場合

感謝すべてのヘルプ...

答えて

0

を良い実装を参照してください唯一の方法は、吹き出しのサブビューと直接台無しにしました。

注釈ビューは、注釈ビューの最初のサブビューです。次の例で

、Iはsubtitle.Theタイトルラベルを更新6であり、字幕は、コールアウトの7サブビューである:実際

if (myAnnotationView.subviews.count > 0) 
    ((UILabel*)[((UIView*)[myAnnotationView.subviews objectAtIndex:0]).subviews objectAtIndex:7]).text = @"Some example"; 
+0

が、字幕(インデックス7)の内容を変更しますコールアウトを更新しません(私にとってはうまくいかなかった)。また、タイトルを変更しても吹き出しのサイズは変更されません。 –

+0

@EduardoMauroあなたはこれを試したことがあるiOSについて教えていただけますか?たぶんiOS 5.1.1より新しいバージョンのレイアウトを変更したことがあります。この場合も問題があります:)サイズ調整に関しては、おそらく手動でも行う必要があるでしょう:( –

+0

IOS 4.2。詳細は、私に教えてください。 –

関連する問題