导航控制器 - 如何在 Xcode 中添加另一个视图控制器?

Posted

技术标签:

【中文标题】导航控制器 - 如何在 Xcode 中添加另一个视图控制器?【英文标题】:Navigation Controller - How to Add in Another View Controller in Xcode? 【发布时间】:2014-01-16 21:09:02 【问题描述】:

我对 ios 编程比较陌生,但我正在一点一点地学习。我有两个 nib 文件,一个是我的 HomeViewController,另一个是“ReceiptTableViewController”。 HomeVC 不应该有一个顶部导航栏,但 ReceiptTableVC 应该有一个标题和“返回”,用户可以在其中滑动以返回 HomeVC。

我将如何添加这个?我已将导航控制器拖到 nib 文件中的 ReceiptTableVC 一侧。

我搜索了各种答案,但有些答案相互矛盾,因为作者使用不同版本的 Xcode,有些从故事板等开始。

非常感谢任何帮助!

我没有使用故事板

【问题讨论】:

【参考方案1】:

你可以使用这个方法来决定你的navigationBar是否显示在你的viewController中。[self.navigationController setNavigationBarHidden: animated:];

在你的AppDelegate

UINavigationController *naviController = [[UINavigationController alloc] initWithRootViewController:homeController];
naviController.navigationBarHidden = YES; //set home controller navigation bar hidden.
self.window.rootViewController = naviController;

然后在你ReceiptTableViewController的viewDidLoad方法中:

[self.navigationController setNavigationBarHidden:NO animated:NO]; // show the navigation bar.

这是以编程方式声明UINavigationController 的方法。你可以试一试。

【讨论】:

感谢您的帮助!不幸的是,它返回一个错误 - '使用未声明的意图'动画',所以我将'动画'更改为'否',认为它不会被隐藏。这没有带来任何错误,但也没有显示“返回”按钮和导航栏的其余部分。 [self.navigationController setNavigationBarHidden:NO animated:YES];你把动画当成变量了吗?? 我试过了,它仍然没有显示,我是否应该在将导航控制器拖到我的 nib 文件中后将它链接到任何东西?我为我的愚蠢道歉,我对这一切都是新手。感谢您的帮助! 推送第二个视图控制器时是否得到了正常的推送行为?我之前没有在 xib 中声明导航控制器。我更喜欢通过程序来做。但是我认为如果你在 xib 文件中拖动,你应该有一个导航控制器的子类。

以上是关于导航控制器 - 如何在 Xcode 中添加另一个视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章

在导航控制器 xcode 中添加“子”视图

在导航控制器不工作的情况下快速展开 segue Xcode 10

如何在使用 UIpageviewcontroller 导航页面时从另一个视图控制器自动更新视图控制器上的标签

向导航控制器添加按钮

xcode / storyboard:无法将栏按钮拖动到顶部的工具栏

如何在 Xcode Interface Builder 中将导航项添加到 Table View Controller(带有静态单元格)?