我在tabbarcontroller的标签中有一张地图。用户可以转到另一个选项卡并重新设置首选项,我需要在用户返回时重新绘制地图。我目前使用此方法清理并重新绘制我的新注释:
- (IBAction)refreshTapped:(id)sender {
//Clean out old annotations
for (id<MKAnnotation> annotation in _mapView.annotations) {
[_mapView removeAnnotation:annotation];
}
//THIS Adds the new annotations
for (MyLocation *annotation in self.myLocationsToSort) {
//Add annotation to mapview
[_mapView addAnnotation:annotation];
}
}
问题是我在mapviewDidFinishLoading中关闭了UIActivityIndicator。因此,第二次用户返回到地图视图时,指示符永远不会被删除。是否应该在我的绘图方法结束时删除该指标,还是应该以某种方式强制视图重新加载地图视图,从而再次调用mapviewDidFinishLoading方法?
答案 0 :(得分:0)
我会选择第一个选项,只需检查self.view.subviews中是否存在活动指示符,并在完成绘制所有新注释后删除它。