目前,我正在使用为我的项目SWRevealViewController创建侧边栏。google map api
https://github.com/John-Lluch/SWRevealViewController
这就是问题所在。ViewControllers每次我在使用侧边栏和返回到MapViewControllerwhich contains之间切换GMSMapView时,GMSMapView都会重新加载到我的位置(我在我的viewDidLoad方法中设置它)。
我怎样才能防止MapViewController每次重新加载?
到目前为止我已经尝试过:使MapViewController成为单例并将其设置为destinationViewController但它不起作用。我得到的只是黑屏。
我的代码custom segue:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ( [segue isKindOfClass: [SWRevealViewControllerSegue class]] )
{
SWRevealViewControllerSegue* rvcs = (SWRevealViewControllerSegue*) segue;
SWRevealViewController* rvc = self.revealViewController;
rvcs.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc)
{
if ([segue.identifier isEqualToString:@"SegueToMapViewController"])
{
dvc = [MapViewController sharedMap]; //singleton
}
UINavigationController* nc = [[UINavigationController alloc] initWithRootViewController:dvc];
[nc setNavigationBarHidden:YES];
[nc setToolbarHidden:YES];
[rvc setFrontViewController:nc animated:YES];
};
}
}