Ios presentingViewController返回实际显示视图控制器的父级

Ios presentingViewController返回实际显示视图控制器的父级,ios,uiviewcontroller,Ios,Uiviewcontroller,我将从另一个视图控制器(VC1)的子视图控制器(VC2)演示一个视图控制器(VC3)。VC3的presentingViewController属性返回VC1而不是VC2。这是预期的行为吗?有没有一种方法可以从VC3访问VC2而不在VC3中设置属性?获取引用并执行某些操作的可能性很小,但我仍然建议使用委派模式-这是最灵活、最干净的解决方案。获取引用并执行某些操作的可能性很小,但我仍然建议使用委派模式-这是最灵活、最干净的解决方案。获取参考资料和执行某些操作的可能性可能很少,但我仍然建议使用委派模式

我将从另一个视图控制器(VC1)的子视图控制器(VC2)演示一个视图控制器(VC3)。VC3的
presentingViewController
属性返回VC1而不是VC2。这是预期的行为吗?有没有一种方法可以从VC3访问VC2而不在VC3中设置属性?

获取引用并执行某些操作的可能性很小,但我仍然建议使用委派模式-这是最灵活、最干净的解决方案。

获取引用并执行某些操作的可能性很小,但我仍然建议使用委派模式-这是最灵活、最干净的解决方案。

获取参考资料和执行某些操作的可能性可能很少,但我仍然建议使用委派模式-这是最灵活、最干净的解决方案。

获取参考资料和执行某些操作的可能性很少,但我仍然建议使用委派模式-这是最灵活、最干净的解决方案。

presentingViewController将嵌入导航堆栈中,而vc2不在导航堆栈中,vc1在导航中,这就是为什么您会得到它。您可以访问vc1的
childViewController
,从中可以获得VC2。或者,您可以将vc2的
引用保留在vc3中,也可以使用该引用

一,。
2.

presentingViewController
将嵌入导航堆栈中,而vc2不在导航堆栈中,vc1在导航中,这就是为什么您会得到它。您可以访问vc1的
childViewController
,从中可以获得VC2。或者,您可以将vc2的
引用保留在vc3中,也可以使用该引用

一,。
2.

presentingViewController
将嵌入导航堆栈中,而vc2不在导航堆栈中,vc1在导航中,这就是为什么您会得到它。您可以访问vc1的
childViewController
,从中可以获得VC2。或者,您可以将vc2的
引用保留在vc3中,也可以使用该引用

一,。
2.

presentingViewController
将嵌入导航堆栈中,而vc2不在导航堆栈中,vc1在导航中,这就是为什么您会得到它。您可以访问vc1的
childViewController
,从中可以获得VC2。或者,您可以将vc2的
引用保留在vc3中,也可以使用该引用

一,。
2.

谢谢你的解释。这是有道理的,但我不记得在苹果的文档中提到过“导航堆栈”;只是“显示的视图控制器更新其presentingViewController属性以指向显示它的视图控制器。”您有任何引用吗?这就是它的工作方式,如果导航堆栈中没有显示视图控制器,它将查找其祖先,感谢您的解释。这是有道理的,但我不记得在苹果的文档中提到过“导航堆栈”;只是“显示的视图控制器更新其presentingViewController属性以指向显示它的视图控制器。”您有任何引用吗?这就是它的工作方式,如果导航堆栈中没有显示视图控制器,它将查找其祖先,感谢您的解释。这是有道理的,但我不记得在苹果的文档中提到过“导航堆栈”;只是“显示的视图控制器更新其presentingViewController属性以指向显示它的视图控制器。”您有任何引用吗?这就是它的工作方式,如果导航堆栈中没有显示视图控制器,它将查找其祖先,感谢您的解释。这是有道理的,但我不记得在苹果的文档中提到过“导航堆栈”;只是“显示的视图控制器更新其presentingViewController属性以指向显示它的视图控制器。”您有任何引用吗?这就是它的工作方式,如果视图控制器未显示在导航堆栈中,它将查找其祖先,