iPhone - 访问父视图控制器?
问题描述:
我有2个viewcontrollers A,BiPhone - 访问父视图控制器?
- 的ViewController甲正在屏幕上显示
- 视图控制器B的视图是 加入的ViewController A的视图
如何我可以从ViewController B访问ViewController A而不传递指针吗?
self.parentViewController不起作用返回nuil
答
这应该工作,虽然它不是很优雅:
UIViewController* viewControllerA =
(UIViewController*) [[self.view superview] nextResponder];
答
为什么加入的viewController A的视图的viewController B的看法?如果你有意向viewController A添加一个视图,你可以通过分配一个新的UIView并在当前视图上显示它。另一方面,如果您试图从一个视图控制器转换到另一个视图控制器,即从A到B然后返回到A,则应该使用Apple文档中“视图控制器编程指南”中指定的UINavigationController 。
来源:View Controller Programming Guide
编辑:如果你想使用[[self parentViewController] yourMethodHere];
你需要一个视图层次,为此,你可以使用的UINavigationController。在你现在的方案中没有建立层次结构,所以没有父视图控制器。
这将返回一个UINavigaionView,它不会返回他的视图控制器。我最终手动将父项传递给子项 – aryaxt 2011-01-13 22:49:08