0

我有一个非常简单的设置 - 一个 tableView 显示我的许多 busStops 模型(busStop 有一个坐标),当我单击一个单元格时,它会推送一个新的 VC,显示 busStop 在 MapView 上的位置(它将地图的中心设置为BusStop 坐标)。

出于某种原因 - 我第一次按下任何单元格时,地图未居中(当我按下“返回”按钮并再次尝试时,它会起作用)。

- (void)viewDidLoad
{
    [super viewDidLoad];

    [mainMapView addAnnotation:selectedBusStop];
    [self updateMapCenter:selectedBusStop.coordinate];

}

当我尝试调用 updateMapCenter 方法时,我怀疑地图尚未加载。这是真的吗?我该怎么办?我尝试从 viewDidAppear 添加另一个调用,它部分解决了它 - 但这感觉有点矫枉过正。有任何想法吗?

4

1 回答 1

0

我发现 iOS 6 改变了加载地图的时间。我曾经在 中设置中心坐标viewDidLoad,但有时不起作用。我把它移到了viewWillAppear:,它按预期工作。您可能不得不考虑向后(而不是向前)移动到地图视图,因为viewWillAppear:会再次被调用。

可能有更好的方法(调用view地图视图?)但我没有进一步研究。

于 2013-01-24T16:04:20.597 回答