Tom*_*Tom 3 uitabbarcontroller uinavigationcontroller ios appdelegate
我试图在特定推送通知发生时更改视图,我取得了一些小小的成功.(使用推送通知解析,适用于应用程序打开和关闭的时间).
我的故事板看起来像这样,我正在尝试将AppDelegate中的视图更改为DetailViewController.

现在我可以通过更改根控制器来更改视图,但我只能连接我的选项卡视图或导航而不是两者.
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
DetailViewController *detail = (DetailViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"detail"];
[detail setDetailItem:StreamData[2]];
self.window.rootViewController = detail;
Run Code Online (Sandbox Code Playgroud)
当然,(下面)的使用仅适用于其他控制器.
[self.navigationController pushViewController:detail animated:YES];
Run Code Online (Sandbox Code Playgroud)
我想知道这是否可以从AppDelegate实现,同时维护底部的tabbar和顶部的导航?
我最初的工作是设置从AppDelegate到可从所有控制器访问的全局变量的触发器,然后使用viewDidAppear之类的东西来检查它们是否需要更改.这似乎太资源密集,但它维护我的布局.
我的问题与此类似:在通知后,从app delegate中的标签栏中推送视图控制器
我已经解决了你的问题.创建了一些场景,不确定它会在你的情况下起作用.无论如何试一试
我的故事板

我做了什么
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
[(UITabBarController *)self.window.rootViewController setSelectedIndex:1];
UINavigationController *nav = [[(UITabBarController *)self.window.rootViewController viewControllers]objectAtIndex:1];
UIViewController *detail = [mainStoryboard instantiateViewControllerWithIdentifier:@"detail"];
[nav pushViewController:detail animated:NO];
Run Code Online (Sandbox Code Playgroud)
这为我提供了详细视图控制器,其中一个按钮作为带有标签栏和导航控制器的第一个视图
| 归档时间: |
|
| 查看次数: |
1974 次 |
| 最近记录: |