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,我该如何解决这个问题?