2

我正在开发push notification我的应用程序。我希望当人们点击推送消息时,应用程序会打开一个特定的控制器;

如果我这样做:

storyBoardName = @"MyStoryboardName";
UIStoryboard* storyBoard = [UIStoryboard storyboardWithName:storyBoardName bundle:nil];
MainWebController* MainWeb = [storyBoard instantiateViewControllerWithIdentifier:@"MainWeb"];
MainWeb.urlToLoad = URL_TO_LOAD;
self.window.rootViewController = MainWeb;
[self.window makeKeyAndVisible];

有效,当我点击推送按摩时我可以看到MainWeb,但控制器视图覆盖了所有屏幕:标签栏和导航栏被隐藏了!

我知道这rootviewcontroller是一个uitabbar

 NSLog(@"Controller: %@",self.window.rootViewController.debugDescription);
4

2 回答 2

4

解决了:

UITabBarController *tabController = (UITabBarController *)self.window.rootViewController;

tabController.selectedIndex = 0;

UINavigationController *navigationController = (UINavigationController *)tabController.selectedViewController;
[navigationController pushViewController:MainWeb animated:YES];
于 2013-11-07T14:50:23.227 回答
0

您正在rootViewController通过将其设置为MainWebController. 这是UIViewController你的首字母Storyboard吗?

从您的问题来看,初始值似乎UIViewConroller是 aTabViewController而您真正想要的是在其中设置 a UIViewController

于 2013-11-07T12:13:54.120 回答