Ios 启动一个功能正常的“childViewController”;“后退”;按钮网间网操作系统

Ios 启动一个功能正常的“childViewController”;“后退”;按钮网间网操作系统,ios,uinavigationcontroller,push-notification,stack,app-launcher,Ios,Uinavigationcontroller,Push Notification,Stack,App Launcher,我想在滑动或按下推送通知启动initialView的childViewController时启动它 现在,我可以启动到childView,但是这些函数不起作用。我在.m文件中启动的一个标签也没有显示 如何确保每个函数(返回按钮(弹出到父级)、视图中的函数按钮、它所导致的分段)都正常工作 这是我加载视图的代码: UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"

我想在滑动或按下推送通知启动initialView的childViewController时启动它

现在,我可以启动到childView,但是这些函数不起作用。我在.m文件中启动的一个标签也没有显示

如何确保每个函数(返回按钮(弹出到父级)、视图中的函数按钮、它所导致的分段)都正常工作

这是我加载视图的代码:

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
                                                             bundle: nil];
NotificationsViewController *viewController= [mainStoryboard instantiateViewControllerWithIdentifier:@"NotificationsViewController"];
UINavigationController *nav = [[UINavigationController alloc]
                                   initWithRootViewController:viewController];

[_window setRootViewController:nav];

问题:

根视图控制器提供窗口的内容视图。将视图控制器指定给此属性会将视图控制器的视图安装为窗口的内容视图。如果窗口具有现有视图层次结构,则在安装新视图之前会删除旧视图,这就是为什么您无法看到“后退”按钮的原因,因为它们已不存在

解决方案:

将视图控制器推到接收器上,导航栏将提供返回上一个视图控制器的导航

NotificationsViewController *viewController = [[NotificationsViewController alloc] init];
[self.navigationController pushViewController:viewController animated:YES];

您将其设置为根视图控制器,而不是将其推送到堆栈上。如果您希望能够返回,则需要一个parentViewController,在本例中不会有be@CWitty那么,我如何才能从app delegate将其推送到堆栈上呢?公开现有的导航控制器并将其推到堆栈上。