我有一个UIViewController
MKMapView
内部UINavigationViewController
层次结构。当我按下并弹出或呈现并关闭到另一个视图控制器时,地图视图会刷新切片。我希望在现在和解雇后避免提神。我试过了:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// ...
MyModalViewController * vc = segue.destinationViewController;
vc.view.backgroundColor = [UIColor clearColor];
self.modalPresentationStyle = UIModalPresentationCurrentContext;
// ...
}
但解雇后,地图视图仍然会刷新图块...
答案 0 :(得分:2)
不是每次执行segue时都重新创建MyModalViewController,而是将视图控制器放入延迟加载的实例变量中,并将其用于seque。这样它只设置一次,地图不会刷新。每次vc出现时,你仍然需要做任何你需要的设置和拆卸。
答案 1 :(得分:0)
这是避免在以前的视图控制器上刷新地图的正确方法:
self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext;