如何使用REFrosted滑动菜单从appdelegate.m handleOpenURL方法打开一个屏幕&故事板?

时间:2016-10-11 18:10:50

标签: ios objective-c storyboard url-scheme rootview

我正在更新一个使用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是初始视图控制器。请参阅随附的屏幕截图。

StoryBoards Setup

我不知道如何修复它。

如何打开" urlOpenedMsg2ViewController"来自appdelegate.m handleOpenURL方法的屏幕?

提前致谢。

1 个答案:

答案 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];