UITableViewController 自动推送 UIViewController?

Posted

技术标签:

【中文标题】UITableViewController 自动推送 UIViewController?【英文标题】:UITableViewController automatically push UIViewController? 【发布时间】:2014-01-03 23:25:17 【问题描述】:

Xcode 新手,Obj-C 新手……对编程来说并不陌生。我有一个像下面这样的 iPhone 故事板层次结构,并且希望 UITableViewController 在我点击表格项时自动打开 UIViewController。没有。

  UINavigationController
    - UITableViewController (derived class)
      - UIViewController (derived class)

我假设因为我将一个名为“Manual Segue,push”的链接从 UITableViewController 拖到了 IB 中的 UIViewController,所以建立了自动连接。不?手动 Segue 推送到底是什么意思?有自动的吗?

UINavigationController 提供了一个“Relationship Segue,root level”链接,这似乎是自动的,但 UITableViewController 没有。它只提供手动转场。

将链接从表格单元拖动到 UIViewController 时取得了一些进展。这将链接更改为“Selection Segue,push”并且它有点工作。问题是,返回上一个视图时它会崩溃。我在点击表格项时注意到了这些日志项:

"nested push animation can result in corrupted navigation bar"
"Finishing up a navigation transition in an unexpected state.  Navigation bar subview tree might be corrupted."

感谢任何方向!

【问题讨论】:

【参考方案1】:

糟糕,我在 UITableController 的 didSelectRowAtIndexPath 中有一个对 pushViewController 的剩余调用。这导致了坠机。我的错。

所以答案是将“Selection Segue,push”链接从表格单元格拖到 UIViewController。或者至少我希望!在这个阶段我几乎什么都不知道。

【讨论】:

以上是关于UITableViewController 自动推送 UIViewController?的主要内容,如果未能解决你的问题,请参考以下文章

将 UITableViewController 推送到导航堆栈时看不到导航栏

从 UITableViewController 推送到 UIViewController 时,底部标签栏消失并保持黑色

将 UITableViewController 推送到 [self navigationController] 会导致 EXC_BAD_ACCESS

UITableViewController 和 NavigationController

UItableviewController 不加载数据

当转到另一个 UITableViewController 时 UITableViewController 冻结