0

我想在启动时通过滑动或按下推送通知来启动initialView的childViewController。启动一个带有“返回”按钮的childViewController。 iOS

现在,我可以启动到childView,但功能不起作用。我在.m文件中启动的其中一个标签也未显示。

我该如何确保每个函数(返回按钮(回弹到父窗口),视图中的函数按钮,以及导致的细节)工作正常。

这是我的用于装载视图代码:

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

[_window setRootViewController:nav]; 
+0

您正在将其设置为根视图控制器,而不是将其推入堆栈。如果你想能够回去,你需要一个parentViewController,在这种情况下,不会有 – CWitty

+0

@CWitty,所以我怎么能从应用程序委托将它推到堆栈上? – user3178926

+0

公开无论您现有的导航控制器是什么,并推动它。 – CWitty

回答

0

问题:

根视图控制器提供窗口的内容图。为此属性分配视图控制器将视图控制器的视图作为窗口的内容视图进行安装。如果窗口具有现有的视图层次结构,则在安装新视图之前将删除旧视图,这就是为什么您看不到后退按钮的原因,因为它们不再存在。

解决方案:

推视图控制器到接收机的,导航栏将提供导航回先前视图控制器。

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