【发布时间】:2014-05-25 07:41:23
【问题描述】:
目前,我使用SWRevealViewController 为我的项目创建侧边栏和google map api。
https://github.com/John-Lluch/SWRevealViewController
这就是问题所在。每次我使用侧边栏在ViewControllers 之间切换并返回到包含GMSMapView 的MapViewController 时,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];
};
}
}
【问题讨论】:
标签: ios objective-c gmsmapview swrevealviewcontroller