【问题标题】:Is UINavigationController needed for UITableView in a popover?弹出窗口中的 UITableView 是否需要 UINavigationController?
【发布时间】:2023-04-03 07:34:01
【问题描述】:

我有一个 iPad 应用程序(XCode 4.6、iOS 6.2、Storyboards、ARC),有 4 个场景和一个导航控制器,全部使用 segues 连接。在第一个场景中,如果用户点击它,它将显示一个包含 UITableView 的 UIPopover。 popover 和 tableview 没有通过 segues 连接到任何东西。这是布局的图像:

Navigation Controller、UITableView 和 UIView 是红框内的三个控制器。问题是当我点击第一个 UITableView 中的一行时,它不会转移到 UIView。我只使用 push segue 来转移到下一个场景。

更新 在 NavigationController 中嵌入 UITableViewController 并进行必要的连接:tableViewCell 到 UIView,(推送模式)。现在我收到了这个运行时错误(如果我将模式更改为模态,它可以工作但会填满整个窗口......如果我将模式更改为弹出框,它可以工作,但现在我有两个弹出框,看起来像 3一岁写的!:-{

*** 由于未捕获的异常“NSGenericException”而终止应用程序,原因:“只有在源控制器由 UINavigationController 的实例管理时才能使用推送序列。”

红框中的大场景是导航控制器……那为什么找不到呢?

【问题讨论】:

    标签: ios xcode uitableview storyboard uipopovercontroller


    【解决方案1】:

    是的,popover 需要它自己的 navigationController。您是否检查过 self.navigationController 是否包含 smth.?如果什么都没发生,它可能是 nil。

    【讨论】:

    • 是的,navigationController 是 nil... 好的,那么如何连接它们以便 UITableView 和 UIView 识别导航控制器?
    • 尝试使用导航控制器嵌入您的表格视图。这应该可以帮助你。
    • 我按照你的建议做了,但是 NSLog 仍然将导航控制器显示为 nil...然后我尝试使用 segue(使用嵌入式导航控制器)将 UITableView 连接到 UIView,但这并没有也不行。
    • 我认为这是一个错误,但我现在没有时间报告它;我决定在这种特殊情况下不使用 seague,但仍然必须有一个导航控制器。感谢大家的宝贵时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    相关资源
    最近更新 更多