我有一个非常简单的设置 - 一个显示我的许多busStops模型的tableView(busStop有一个坐标)当我点击一个单元格时,它会推送一个新的VC,它在MapView上显示busStop的位置(它将地图的中心设置为BusStop坐标的位置。)
出于某种原因 - 我第一次按任何单元格时地图不居中(当我按下“后退”按钮并再次尝试时它会起作用。)
- (void)viewDidLoad
{
[super viewDidLoad];
[mainMapView addAnnotation:selectedBusStop];
[self updateMapCenter:selectedBusStop.coordinate];
}
我怀疑当我尝试调用updateMapCenter方法时,地图尚未加载。这可能是真的吗?我该怎么办? 我尝试从viewDidAppear添加另一个调用,它部分解决了 - 但这感觉就像一个矫枉过正。任何想法?
答案 0 :(得分:0)
我发现iOS 6改变了加载地图的时间。我曾经在viewDidLoad
中设置中心坐标,但有时不起作用。我把它移到viewWillAppear:
,它按预期工作。您可能不得不考虑向后移动(而不是向前)到地图视图,因为viewWillAppear:
会再次被调用。
可能有更好的方法(在地图视图上调用view
?)但我还没有进一步研究过。