如何避免MKMapView刷新?

时间:2013-09-30 17:04:27

标签: ios objective-c mkmapview modalviewcontroller

我有一个UIViewController MKMapView内部UINavigationViewController层次结构。当我按下并弹出或呈现并关闭到另一个视图控制器时,地图视图会刷新切片。我希望在现在和解雇后避免提神。我试过了:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // ...
    MyModalViewController * vc = segue.destinationViewController;
    vc.view.backgroundColor = [UIColor clearColor];
    self.modalPresentationStyle = UIModalPresentationCurrentContext;
    // ...
}

但解雇后,地图视图仍然会刷新图块...

2 个答案:

答案 0 :(得分:2)

不是每次执行segue时都重新创建MyModalViewController,而是将视图控制器放入延迟加载的实例变量中,并将其用于seque。这样它只设置一次,地图不会刷新。每次vc出现时,你仍然需要做任何你需要的设置和拆卸。

答案 1 :(得分:0)

这是避免在以前的视图控制器上刷新地图的正确方法:

self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext;