1

テーブルがあるアプリがあり、セルをクリックすると、ナビゲーションコントローラーが MKMapView に移動します。マップの地域を手動で設定して、ユーザーが特定の領域を拡大して表示できるようにしたいと考えています。それを行うには、viewWillAppear で次のようにします。

CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(53.345305, -6.2721597);
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(coord, 3000, 3000);
self.map.region = region;

問題は、初めてマップ ビューに移動したとき、マップ上で何の効果もないように見えることです。テーブルビューに戻り、再びマップに移動したときにのみ、MKMapView は実際に特定の座標に移動してズームインします。このような奇妙な動作に遭遇した人はいますか?

4

2 に答える 2

3

viewWillAppear のプロセスが早すぎてマップの準備ができていない可能性はありますか? コードを viewDidAppear に移動してみて、それが役立つかどうかを確認してください。

于 2012-11-26T09:07:03.607 に答える
0

これを試してみてくださいviewWillAppear

CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(53.345305, -6.2721597);
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(coord, 3000, 3000);
MKCoordinateRegion adjustedRegion = [self.map regionThatFits:region];  
[self.map setRegion:adjustedRegion animated:YES];
于 2012-11-26T01:29:32.903 に答える