我有2个故事板。我需要在它们之间切换。第一个情节提要具有一个地图视图控制器。当我切换到第二个故事板时,如下所示更改了rootViewController
let appDelegate = UIApplication.shared.delegate! as! AppDelegate
let storyboard = UIStoryboard(name: "LoginController", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "LoginController")
appDelegate.window?.rootViewController = viewController
appDelegate.window?.makeKeyAndVisible()
但是,当我打开第一个情节提要时,我看到的是所有注释。如何从地图中删除缓存?
答案 0 :(得分:0)
其原因是mapviewController仍然与地图注释一起存在,只需删除所有注释,然后切换以下代码即可:-
for (int i =0; i < [mapView.annotations count]; i++) {
if ([[mapView.annotations objectAtIndex:i] isKindOfClass:[MyAnnotationClass class]]) {
[mapView removeAnnotation:[mapView.annotations objectAtIndex:i]];
}
}
答案 1 :(得分:0)
仅在过渡到第二个故事板时删除注释,您可以尝试
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.mapView.removeAnnotations(mapView.annotations)
}