我正在更新一个使用URL Scheme的应用程序。我以前在appdelegate.m中有应用程序:handleOpenURL方法,以下代码用于长时间工作(没有故事板)
urlOpenedMsg2 *nextview=[[urlOpenedMsg2 alloc] initWithNibName:@"urlOpenedMsg2" bundle:Nil];
[self.navigationController pushViewController:nextview animated:YES];
现在我已经使用REFrostedViewController Sliding Menu和故事板更新了我的应用程序。在hadleOpenURL方法中,我只是想尝试打开新屏幕" urlOpenedMsg2ViewController"我无法打开它。
我现在使用以下代码
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
urlOpenedMsg2ViewController *nextview = [storyboard instantiateViewControllerWithIdentifier:@"urlOpenedMsg2"];
[(UINavigationController*)self.window.rootViewController pushViewController:nextview animated:NO];
现在我的navigationViewController不是self.window.rootViewController,因此以下行不起作用,它打开主屏幕而不是urlOpenedMsg2屏幕
[(UINavigationController*)self.window.rootViewController pushViewController:nextview animated:NO];
现在我有了用于REFrostedViewController的RootViewController,NavigationViewController和MenuTableViewController,而RootViewController是初始视图控制器。请参阅随附的屏幕截图。
我不知道如何修复它。
如何打开" urlOpenedMsg2ViewController"来自appdelegate.m handleOpenURL方法的屏幕?
提前致谢。
答案 0 :(得分:0)
你需要这样称呼: -
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
urlOpenedMsg2ViewController *nextview = [storyboard instantiateViewControllerWithIdentifier:@"urlOpenedMsg2"];
UINavigationController *navigationVC = [[UINavigationController alloc] init];
self.window.rootViewController = navigationVC;
[navigationVC pushViewController:nextview animated:NO];