2

我有 2 个视图控制器 A,B

  1. ViewController A 正在屏幕上显示
  2. ViewController B 的视图被添加到 ViewController A 的视图中。

如何在不传递指针的情况下从 ViewController B 访问 ViewController A?

self.parentViewController 不起作用它返回 null

4

2 回答 2

1

为什么 viewController B 的视图会添加到 viewController A 的视图中?如果您打算向 viewController A 添加一个视图,您可以通过分配一个新的 UIView 并将其显示在当前视图之上来实现。

另一方面,如果您尝试从一个视图控制器转换到另一个视图控制器,即从 A 到 B,然后返回到 A,您应该使用 Apple 文档中的视图控制器编程指南中指定的 UINavigationController。

来源:查看控制器编程指南

编辑:如果你想使用[[self parentViewController] yourMethodHere];你将需要一个视图层次结构,你可以使用 UINavigationController。在您当前的方案中,没有构建层次结构,因此没有父视图控制器。

于 2011-01-13T19:24:53.110 回答
0

这应该可以工作,尽管它不是很优雅:

UIViewController* viewControllerA = 
    (UIViewController*) [[self.view superview] nextResponder];
于 2011-01-13T18:56:12.607 回答