ios - UITableView 中缺少 UINavigationBar

标签 ios uitableview uinavigationcontroller uinavigationbar

我以模态方式呈现一个 UITableView 来提供对某些应用程序设置的访问。当模态视图( Root View Controller )出现时,它有一个像我期望的导航栏。但是,当选择其中一个选项并且下一个“UITableView”弹出到堆栈顶部时,就没有导航栏。

Storyboard

以下是其中一个子 UITableViews 的外观:

enter image description here

据我所知,这两个 subview 应该有导航栏,而我无需执行任何操作,因为它们嵌入在 UINavigationController 中。

我尝试将导航栏拖到 View 中,但 IB 只会让我将它们放入 UITableView 中,如果我这样做,它们确实会出现,但它们在 View 中的位置也太高并进入状态栏,我可以对它们设置任何布局约束来解决此问题。

我浏览了 Apple 文档,但运气不佳,发现了很多关于 SO 的线程,这些线程非常非常古老,而且是用 Objective-C 编写的。

我可以让这些 View 像我期望的那样一起工作,还是我必须从头开始构建 subview ?

更新:我仍在努力让它发挥作用。我现在尝试从头开始创建一个新的 View Controller 。 View 层次结构如下所示:

enter image description here

您可以在 Storyboard 中看到有些不对劲:

enter image description here

当我在模拟器中运行它时,我收到一个新错误:

“[UITableViewController loadView] 使用 Storyboard“Main”中的标识符“UIViewController-cDg-wV-aMN”实例化了 View Controller ,但没有获得 UITableView。'但我通过按住 Ctrl 键并从根 VC 中的单元格直接拖动到 TableView 来创建 Segue。

总而言之,这是我想要实现的流程:UIViewController(初始 VC)-> UINavigationController(从底部以模态方式呈现)-> UITableViewController(从右到左呈现并带有标准导航栏)。

我的转场全部设置为“显示”(例如“推送”)

任何帮助或建议将不胜感激。

最佳答案

好吧,我在遇到 another thread 后想出了如何解决我遇到的问题。这不是同一个问题,但它有一些建议给了我提示。

该问题是由于我从“设置” View Controller 上的 UITableViewCell 创建到每个子 UITableViewControllers 的 segues 引起的。

为了解决这个问题,我只是在设置UITableViewController和每个子UITableViewControllers之间创建了segues。

希望有一天这对其他人有帮助。

关于ios - UITableView 中缺少 UINavigationBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38467219/

相关文章:

ios - 当视觉效果 View 位于其顶部时,过渡时显示意外的背景图像

ios - 如何以编程方式在 TableView Cell 中添加多个 UIImageView

ios - 来自 UITableView 部分的条件目标 View Controller

ios - 标题未出现在 ViewControllers 导航栏上

iphone - UINavigationController 子类 navigationItem 忽略 -setLeftBarButtonItem

ios - UITableView 删除一行或多行后留下空白单元格的模式

ios - 通过编程将空部分添加到 iOS MachO 文件中?

ios - 如果用户取消了 InApp 购买或只是另一个失败状态,如何处理

iphone - UITableViewCell 中的 UIActivityIndi​​catorView 不会停止旋转

沙盒环境中的 iOS ApplePay