Objective c 点击按钮关闭rootViewController

Objective c 点击按钮关闭rootViewController,objective-c,viewcontroller,dismiss,rootviewcontroller,Objective C,Viewcontroller,Dismiss,Rootviewcontroller,我有一个viewController在应用程序启动时由脚本实例化,它是混合应用程序的一部分。在此基础上,我又介绍了一个视图控制器。现在,在关闭presentedViewController的同时,我想关闭rootViewController以显示混合应用程序屏幕。如何实现这一点?好的,我对Worklight一无所知。或者混合应用程序是什么。所以这可能没有意义。但这是对你问题的一个严格的回答 [self dismissViewControllerAnimated:YES completion:^{

我有一个
viewController
在应用程序启动时由脚本实例化,它是混合应用程序的一部分。在此基础上,我又介绍了一个视图控制器。现在,在关闭
presentedViewController
的同时,我想关闭
rootViewController
以显示混合应用程序屏幕。如何实现这一点?

好的,我对Worklight一无所知。或者混合应用程序是什么。所以这可能没有意义。但这是对你问题的一个严格的回答

[self dismissViewControllerAnimated:YES completion:^{


 // after your second view controller dismissed.
 // set your new view controller as a root of window.
 // You need to set navigation controller and set any root view controller for that navigation controller in storyboard.
// also don't forget to set identifier of your navigation controller.


   UINavigationController* rootController = [[UIStoryboard storyboardWithName:kStoryboardName bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"controllerIdentifier"];

   UIWindow* window = [[UIApplication sharedApplication] keyWindow];
   window.rootViewController = rootController; 

  // this will set your new navigation controller with root view on UIWindow.

}];
不使用另一个视图控制器替换根视图控制器就关闭根视图控制器是没有意义的。如果你这样做了,你会让你的应用程序无法与之交互(除了可能摇手机?)

因此,没有一种方法可以像使用子视图控制器那样消除它。但是你可以把它去掉

UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
[keyWindow.rootViewController.view removeFromSuperview];
keyWindow.rootViewController = nil;

好的,我对Worklight一无所知。或者混合应用程序是什么。所以这可能没有意义。但这是对你问题的一个严格的回答

不使用另一个视图控制器替换根视图控制器就关闭根视图控制器是没有意义的。如果你这样做了,你会让你的应用程序无法与之交互(除了可能摇手机?)

因此,没有一种方法可以像使用子视图控制器那样消除它。但是你可以把它去掉

UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
[keyWindow.rootViewController.view removeFromSuperview];
keyWindow.rootViewController = nil;

你能分享你的代码吗?你如何展示你的rootviewcontroller和otherViewController[\u arViewController setonlyshowtimswithinarrange:YES];[self-presentViewController:_arViewController动画:无完成:无];}这就是我介绍第二个ViewController的方式。第一个是故事板的默认ViewControllerIt,它将关闭显示的ViewController。我还想关闭/删除rootViewController,以便显示混合应用程序屏幕。请分享您的代码,说明如何显示您的rootViewController和其他ViewController[_arViewControllerSetOnlyShowItemsWithinRadrange:YES];[self-presentViewController:_arViewController动画:无完成:无];}这就是我介绍第二个ViewController的方式。第一个是故事板的默认ViewControllerIt,它将关闭显示的ViewController。我还想关闭/删除根ViewController,以便混合应用程序屏幕显示。“在显示的ViewController上找不到属性窗口”错误我只想删除根ViewController,而不是将其更改为其他一些控制器。然后,只有混合应用程序屏幕可以点击它。目前,本机应用程序屏幕仍位于混合应用程序屏幕的顶部,因此混合应用程序不接受任何点击“在显示的ViewController上未找到属性窗口”错误我只想删除根ViewController,而不是将其更改为其他一些控制器。然后,只有混合应用程序屏幕可以点击它。目前,本机应用程序屏幕仍然位于混合应用程序屏幕的顶部,因此混合应用程序不接受任何点击