UITableViewController 子视图:告诉 pushViewController 拥有 UIViewController

Posted

技术标签:

【中文标题】UITableViewController 子视图:告诉 pushViewController 拥有 UIViewController【英文标题】:UITableViewController subview: Tell pushViewController to owning UIViewController 【发布时间】:2010-02-09 17:39:04 【问题描述】:

我有一个UINavigationViewController,在其中我添加了一个UITableViewController 作为子视图。

我希望能够从 UITableViewController 内部告诉 UINavigationViewController pushViewController,但我无法检索正确的 navigationController 对象。

我已经尝试了in this thread 讨论的一些方法,但我无法获取视图的 navigationController。

有没有办法为子视图的“拥有”视图获取参考?

编辑:我能够做到这一点:

[[(MyAppDelegate *)[[UIApplication sharedApplication] delegate] mainViewController].navigationController pushViewController:oOptionsViewController animated:YES];

让它发挥作用。但问题只是我想在不一定知道navigationController的具体名称的情况下这样做(假设我有几个这样的实例,我使用相同的类,但它们可能用于其他导航控制器..)

【问题讨论】:

【参考方案1】:

我认为你在那里所做的很完美。

navigationController 是一个实例变量,因此每个控制器实例都有自己的,并且可以根据添加到的导航元素将它们设置为不同的东西。

稍后, 布莱克。

【讨论】:

以上是关于UITableViewController 子视图:告诉 pushViewController 拥有 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewController 作为小视图中的子视图控制器 - 键盘问题

在 uiviewcontroller 中添加 uitableviewcontroller 作为子视图时出错

我应该在哪里添加我的子视图以使其位于 UITableViewController 中的表视图下?

我有父/子视图控制器,但 UITableViewController 有点像 Child VC 的生涩。

UITableViewController 的子类在包含在子视图中时不会触发 didSelectRowAtIndexPath,我该如何解决这个问题?

将 UITableViewController 添加到其他视图