0

我在 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 中关闭了 UIActivityIndi​​cator。因此,用户第二次返回地图视图时,指示器永远不会被删除。是否应该在我的绘图方法结束时删除该指示器,或者我应该以某种方式强制视图重新加载地图视图,从而再次调用 mapviewDidFinishLoading 方法?

4

1 回答 1

0

我会选择第一个选项,只需检查 self.view.subviews 中是否存在活动指示器,以及在完成绘制所有新注释后是否将其删除。

于 2013-09-20T03:37:54.517 回答