用 UITabController 替换 UINavigationController

Posted

技术标签:

【中文标题】用 UITabController 替换 UINavigationController【英文标题】:Replacing UINavigationController with UITabController 【发布时间】:2014-12-17 12:19:13 【问题描述】:

我知道这是一个真正的初学者,但我只是在寻找能指引我正确方向的人。

我正在阅读关于表格视图的精彩 Ray Wenderlich 系列,这是最后一个

http://www.raywenderlich.com/68139/video-tutorial-table-views-search

但是我想创建一个与这些示例类似但也有一个 TabViewController 的应用程序,所以我在情节提要中创建了一个新的 TabViewController,然后在它和 UITableViewController 之间创建了一个 segue,它运行良好,直到我点击在表格视图中的一个单元格上打开下一个视图控制器,然后我收到此错误...

*** 由于未捕获的异常“NSGenericException”而终止应用程序, 原因:'找不到用于 segue 'GoToEdit' 的导航控制器。 Push segues 只能在源控制器被管理时使用 UINavigationController 的一个实例。'

我没有收到此错误,因为我所做的只是将原始 segue 删除到原始视图控制器,并用 TabViewController 替换它,然后将它们与新的 segue 链接起来。

【问题讨论】:

您的标签应该附加到导航控制器,导航控制器将转到表格视图控制器。截至目前,在选项卡和表格控制器之间缺少导航控制器。 参考:raywenderlich.com/50308/storyboards-tutorial-in-ios-7-part-1 我只是尝试在选项卡控制器和原始 uinavcontroller 之间进行转接,然后从它到表视图控制器,但它没有用,我得到的只是显示的无项目选项卡视图控制器和上面黑屏 你有没有参考我发布的链接,它有相同的场景和解释。主题名称:“添加表格视图控制器” 我会检查一下谢谢。 【参考方案1】:

点击 Main.storyboard 然后选择 tabbar controller 然后点击 Editor -> Embede In -> Navigation Controller

【讨论】:

导航控制器是灰色的。【参考方案2】:

您应该在 NavigationController 中嵌入您的漂亮图标场景。就是这样。

【讨论】:

我在 Tab 控制器中嵌入了 Nav 控制器,它工作正常,但我不明白怎么做?为什么当我创建导航控制器然后对导航控制器进行 segue 时它不起作用?有什么区别? 根据您所附的屏幕截图,您尝试不从导航控制器推送 segue。

以上是关于用 UITabController 替换 UINavigationController的主要内容,如果未能解决你的问题,请参考以下文章

在 UITabController 中关闭视图控制器

tvOS 14 - UISearchController 解散整个 UITabController

在 UITabController 中使用 UIScrollview 显示 UIImageView 不显示所有页面

在 UITabController 中的选项卡之间切换时使用“pushViewController”动画

在 UITabcontroller 中转到 3 选项卡不起作用

(Swift) 在嵌套在 Main UINavigationController 中的 UINavigationController 和 UITabController 之间切换