【问题标题】:iPhone - Accessing the parent viewcontroller?iPhone - 访问父视图控制器?
【发布时间】:2011-01-13 18:47:03
【问题描述】:

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

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

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

self.parentViewController 不起作用,它返回 null

【问题讨论】:

    标签: iphone uiviewcontroller parentviewcontroller


    【解决方案1】:

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

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

    来源:View Controller Programming Guide

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

    【讨论】:

      【解决方案2】:

      这应该可以工作,虽然它不是很优雅:

      UIViewController* viewControllerA = 
          (UIViewController*) [[self.view superview] nextResponder];
      

      【讨论】:

      • 这会返回 UINavigaionView,它不会返回视图控制器。我最终手动将父母传递给孩子
      猜你喜欢
      • 2012-10-26
      • 2015-07-14
      • 1970-01-01
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      相关资源
      最近更新 更多