1

UIViewController クラスであるアクセサリ ビューをロードする rightcallout ボタンを含むマップ アノテーション ビューがあります。再利用可能な注釈を使用していますが、更新された情報を UIViewController クラスに渡す方法を知りたいです。ビューで 2 つの UILabels にマップされる 2 つの文字列値があるとします。初期アクセサリ ビューが再利用可能なビューとしてメモリにロードされた後、これらの値を更新するにはどうすればよいですか?

どんな助けでも大歓迎です。

4

3 に答える 3

0

注釈サブクラスでは、setTitle メソッドをオーバーライドして、サブクラスが保持している UIViewController クラスのインスタンスに変更を送信する必要があります。または、(NSNotificationCenter から) 通知を受け取るように注釈サブクラスをセットアップし、通知を受け取ったら、タイトルと UIViewController クラスのインスタンスを更新することもできます。

NSNotifications に慣れていない場合は、ここにクイック リファレンスがあります。これらを使用して、注釈を更新し続けました。 NSNotification の例

于 2010-03-11T18:06:12.367 に答える
0

MKMapViewDelegate メソッドを使用してみてください。

-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control;

このメソッドは、ユーザーが注釈ビューのアクセサリ ボタンの 1 つをタップしたときに呼び出されます。MKMapViewDelegate がアクセサリ ビューにアクセスできる UIViewController でもあると仮定します。

于 2010-04-21T06:29:54.257 に答える
0

更新を取得するオブジェクトで UILabels への参照を維持し、setTitle: (と思います) を使用してラベルを更新する必要があります。

于 2009-12-31T01:59:57.240 に答える