我有一个主 - 详细信息应用程序,我的详细信息页面是一张地图。当我单击主列表中的元素时,会显示包含整串标记的地图,将缩放/平移缩放到特定位置,并弹出描述此位置的注释。
实施非常简单,所以我想。在我的viewDidAppear中,我浏览了mapview中的注释列表,只需调用[mapView selectAnnotation: myAnnotation animated: FALSE]
即可。但不是第一次!
我在ViewDidLoad中填充我的地图,并且第一次调用ViewDidAppear时,mapView.annotations数组仍为空。即使我第一次进入详细信息视图,是否有一种简单的方法可以使其工作?或者我是否必须在AppDelegate中创建并填充地图?
答案 0 :(得分:1)
尝试使用MGLMapViewDelegate,特别是
if (task.getQueue().isEmpty()){
task.schedule(new Runnable() {
@Override
public void run(){
// do my awesome stuff
}
}, FIXED_DELAY, TimeUnit.MILLISECONDS);
}
答案 1 :(得分:0)
也许你可以在DetailViewController定义一个方法,那么当你触发类似的tableview&#39的方法; S didselect或prepareForSegue,你必须得到DetailViewController' S实例,最后,你可以用这个实例来打电话给你用户定义的方法。