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 回答