使用MMDrawer

时间:2016-06-24 08:29:46

标签: ios objective-c state-restoration mmdrawercontroller

我已将 MMDrawerController 库集成到iOS应用程序中,现在我需要恢复应用程序状态,即使应用程序在后台被杀死(仅当应用程序输入时)从前台到后台),它可以正常使用普通导航应用程序,但是当我使用" setCenterViewController "更改导航时我的应用程序中的选项,恢复无法按预期工作,我已按照此链接中提供的所有说明进行操作:" https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/PreservingandRestoringState.html"

我已经使用 setCenterViewController 选项(推荐来自MMDrawer)导航到特定屏幕,然后在后台删除应用程序,当我们重新打开它时会启动默认初始屏幕,但我们期望它应该重新打开在进入背景之前进行屏幕显示。

以下是代码段:

AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
appDelegate.homeController.navigationController.navigationBarHidden = YES;
HomeViewController *homeVC = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
UINavigationController *_navg = [[UINavigationController alloc]initWithRootViewController:homeVC];
_navg.restorationIdentifier = @"homeNavigationController";
homeVC.title = [self.dataSource objectAtIndex:indexPath.row]; homeVC.restorationIdentifier = @"HomeViewController";
[appDelegate.drawerController setCenterViewController:_navg withCloseAnimation:YES completion:nil];
self.currentViewController = _navg;
self.currentViewController.restorationIdentifier = @"homeNavigationController"; 

帮我解决此问题。

1 个答案:

答案 0 :(得分:0)

您可以通过在NSUUserDefault中存储状态轻松进行状态保存 执行以下步骤: 1.第一次启动应用程序时。

.awesome

2.当你杀死应用程序然后存储状态

  {
      UserDefaults.standard.set("0", forKey: "state")
     UserDefaults.standard.synchronize()
   }