【发布时间】:2011-07-03 07:31:47
【问题描述】:
我有一个 UIViewController,它还有另一个 UITableViewController 作为 subview。
表格视图是不可见的,但有时它可以通过用户的操作可见。 (例如,搜索表格视图。)
所以,两个新的控制器实际上没有关系,(但 UIViewController 有 UITableViewController 作为成员变量),但只有它的视图有父 - 子视图的关系。
在这种情况下,用户单击表格视图中的单元格项目,我必须将新的视图控制器推送到导航控制器。
但只有父 UIViewController 在 navigationController 中,子视图 UITableViewController 不在。
所以代码
[self pushViewController:viewController animated:YES];
在 UITableViewController 中失败。
我通过将父 UIViewController 的 navigationController 实例作为名为 parentNavigationController 的属性传递给 UITableViewController 解决了这个问题,我调用了
[self.parentNavigationController pushViewController:viewController animated:YES];
相反。
解决方案还不错,但我认为它有些混乱,我想知道是否有更多的清除解决方案。
朋友们,在这种情况下你是如何编程的?
我认为两个视图控制器的父子视图关系很混乱,首先。如果我在一个视图控制器中管理两个视图会更好吗?如果这样,UITableViewController 的视图属性可以不是表格视图? (并且该视图具有表视图作为子视图)
提前感谢您的支持。
【问题讨论】:
标签: iphone objective-c ios