【问题标题】:Navigation Controller not showing Root View (just white space)导航控制器不显示根视图(只是空白)
【发布时间】:2015-05-15 01:30:49
【问题描述】:

长期潜伏者第一次在这里发布海报。我的问题是关于 Xcode 6.1.1 中的导航控制器。

基本上,我创建了一个提要应用程序,该应用程序从我的 Wordpress 站点抓取帖子并将它们显示在表格列表中。选择列表中的项目时,Web 视图会显示所选项目的 url。我想使用导航控制器管理这两个视图(表格和 web 视图)之间的移动,因此我将一个嵌入到故事板上的表格列表视图中,将表格视图设置为根。当我运行应用程序时,我得到一个空白屏幕,屏幕顶部有一个空导航栏(导航控制器设置为初始视图)。我希望看到控制器内的列表视图,但我得到了 nada。在过去,我无需编写任何代码就可以做到这一点,而且没有问题。

不知道为什么会发生这种情况,但我确信这是我忽略的非常简单的事情。任何帮助都是极好的。感谢观看。

【问题讨论】:

  • 您是否将带有表格的视图控制器的类更改为您的自定义类?您是否设置了数据源和委托(仅当您使用 UIViewController 时;如果您使用的是 UITableViewController,则为您完成)?
  • 它设置为 ViewController 类,如果我正确理解您的第二个问题,是的,它分配了源和委托。我还应该提到,在没有嵌入导航控制器的情况下,列表填充得很好,我可以从表中选择提要项目并通过 Web 视图查看它们。当我嵌入控制器时,一切都变得空白了。
  • 没有理由将我们的视图控制器嵌入到导航控制器中会使您的表格视图无法正常工作,这是我能想到的。那么,您的结构是 NavContollerer --> (root)TableViewController --> WebViewController 吗?是 TableViewController 是空白的吧?
  • 是的,完全正确。在运行时我得到空视图
  • viewDidLoad 是否在 tableViewController 中运行?做任何数据源方法吗?

标签: ios xcode uinavigationcontroller storyboard segue


【解决方案1】:

解决了这个问题。我知道这将是一件非常小的事情。我所要做的就是向表格视图控制器添加一个导航项。一旦我给导航项一个标题,我就嵌入了导航控制器,现在一切都按预期工作了。

我通过将导航控制器对象扔到我的故事板上并交叉引用我自己的固定关系来获得这个想法,这是唯一缺少的东西。感谢你的帮助。

【讨论】:

  • 您的设置一定有些奇怪,因为当您将控制器嵌入导航控制器时,您不应该添加导航项——它应该会自动出现。顺便说一句,您没有嵌入导航控制器,而是在导航控制器中嵌入了一些其他控制器。我不知道你所说的“交叉引用我自己的罐头关系”是什么意思。如果您从独立控制器开始,您应该执行此操作的方式是转到编辑菜单,然后选择“嵌入导航控制器”。这就是你应该做的所有事情。
  • 这就是我的意思对不起。将表格视图嵌入导航控制器就是我所做的。交叉引用位意味着我从对象库中抓取了一个导航控制器,将它扔到我的故事板上,然后将它与我使用“嵌入”添加的导航控制器进行比较。唯一缺少的是我的根视图中的导航项。如果您查看导航控制器对象,它附加了一个名为“根视图控制器”的视图控制器,您可以看到还有一个标题为“根视图控制器”的导航项。我想我可能有一个并在某个时候意外删除了它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多