Objective-c 故事板 - UITableViewController 中的导航栏没有出现

Posted

技术标签:

【中文标题】Objective-c 故事板 - UITableViewController 中的导航栏没有出现【英文标题】:Objective-c storyboard - Navigation Bar in UITableViewController not appearing 【发布时间】:2015-09-02 12:48:28 【问题描述】:

我在我的故事板中创建了一个UITableViewController 场景。

现在我试图通过简单地将导航栏拖到我的UITableViewController 来添加导航栏,但是当我运行我的应用程序时,我看不到导航栏。这是我的故事板中UITableViewController 内的导航栏的屏幕截图。我做错了什么?

【问题讨论】:

我猜你必须将你的 tableview 控制器嵌入到导航控制器中(标记 tableview 控制器,编辑器->嵌入)并从 tableview 的内容视图中删除导航栏。 不,没有用 只需选择您的tableviewcontroller,转到编辑器(在xcode的顶部栏中)->嵌入->导航控制器。检查导航是否未隐藏在文件检查器中。正如大家所建议的,从内容视图中删除导航栏。 check if navigation is not hidden in File Inspector.这部分我没看懂。 【参考方案1】:

表格视图中不能有导航栏。导航栏位于顶部,占用 64 个像素,其中大约 24 个属于状态栏。因此,与其经历所有这些混乱,不如选择视图控制器并选择 Editor

然后选择导航控制器并将其属性设置为“是初始视图控制器”。

【讨论】:

那也没用...这非常令人沮丧【参考方案2】:

在您的情况下,您将导航栏放在 tableView 单元格中。如果你使用动态 tableView 你首先必须实现 UITableView 的 dataSource 和 Delegate 方法。只有这样您才能看到单元格的内容。

但是您似乎错误地将其放入了单元格中。将导航栏稍微拖到单元格上方,但不完全在单元格中。

【讨论】:

它不会让我拖动单元格上方的导航栏:(【参考方案3】:

您已经在 UITableView Cell 中使用了 navigationBar,如果您想使用 navigationBar,请使用 storyborad 中的 UINavigationController 这是最好的选择,并将您的 tableViewController 分配给它的 rootViewController。

【讨论】:

以上是关于Objective-c 故事板 - UITableViewController 中的导航栏没有出现的主要内容,如果未能解决你的问题,请参考以下文章

如何从同一个故事板访问 Objective-C 和 Swift 类?

混合objective-c/swift项目中的故事板颜色问题

Swift uiview 在 uitable 之上

从 firebase 数据库中检索数据并在 Objective-C 中的 UITable 中显示

如何使 UIButton 从 UITable 中的选择中播放相应的音频剪辑?

使用两个继承类创建故事板屏幕