Ios 返回rootViewController
我已经将第三方库导入到我的项目中,我将在appDelegate中演示它(使用深度链接)。视图显示良好,但在删除此库ViewController时,它不起作用Ios 返回rootViewController,ios,objective-c,uiviewcontroller,Ios,Objective C,Uiviewcontroller,我已经将第三方库导入到我的项目中,我将在appDelegate中演示它(使用深度链接)。视图显示良好,但在删除此库ViewController时,它不起作用 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
appbarViewController = [[AppBarViewController alloc] init];
self.window.rootViewController = appbarViewController;
[self.window makeKeyAndVisible];
}
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if([[url host] isEqualToString:@"session"]){
ACSViewController *acs = [[ACSViewController alloc] init];
[window addSubview:[acs view]];
[window.rootViewController presentViewController:acs animated:NO completion:nil];
}
然后从库ViewController类中调用
[[self presentingViewController] dismissViewControllerAnimated:NO completion:nil];
我尝试过各种方法来消除Poptroot,但我不会回到我原来的viewController。我在appDelegate中显示库ViewController的方式是否将我的根从堆栈中删除?我认为您需要删除
[window addSubview:[acs view]代码>。它是不必要的,并且在关闭acs viewcontroller后,这是可见的。我不需要它,它仍然执行相同的操作,ACSViewController会设置动画,但随后会返回,就像它是堆栈中唯一的viewcontroller并正在重新加载它一样?我没有看到任何会更改根视图控制器的内容。在执行“disclose”之后,立即查看您的根控制器是什么会很有趣。类似于:NSLog(@“根控制器:%@,[[[UIApplication sharedApplication]委托]窗口]根视图控制器])代码>当关闭并记录根视图时,根视图为appbarViewController。看起来可以吗?库ACSViewController只在上面的点被调用,所以我不明白为什么它不会返回到它?ACSViewController是一个单独的库,有自己的navigationController。可能与此有关?