我在 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 方法?