目前,我正在使用为我的项目SWRevealViewController
创建侧边栏。google map api
https://github.com/John-Lluch/SWRevealViewController
这就是问题所在。ViewControllers
每次我在使用侧边栏和返回到MapViewController
which 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];
};
}
}