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