我以模态方式呈现一个 UITableView
来提供对某些应用程序设置的访问。当模态视图( Root View Controller )出现时,它有一个像我期望的导航栏。但是,当选择其中一个选项并且下一个“UITableView”弹出到堆栈顶部时,就没有导航栏。
以下是其中一个子 UITableViews
的外观:
据我所知,这两个 subview 应该有导航栏,而我无需执行任何操作,因为它们嵌入在 UINavigationController
中。
我尝试将导航栏拖到 View 中,但 IB 只会让我将它们放入 UITableView 中,如果我这样做,它们确实会出现,但它们在 View 中的位置也太高并进入状态栏,我可以对它们设置任何布局约束来解决此问题。
我浏览了 Apple 文档,但运气不佳,发现了很多关于 SO 的线程,这些线程非常非常古老,而且是用 Objective-C 编写的。
我可以让这些 View 像我期望的那样一起工作,还是我必须从头开始构建 subview ?
更新:我仍在努力让它发挥作用。我现在尝试从头开始创建一个新的 View Controller 。 View 层次结构如下所示:
您可以在 Storyboard 中看到有些不对劲:
当我在模拟器中运行它时,我收到一个新错误:
“[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/