presentingViewController returns 实际呈现视图控制器的父级
presentingViewController returns the parent of the actual presenting view controller
我从一个视图控制器 (VC2) 呈现一个视图控制器 (VC3),该视图控制器 (VC2) 是另一个视图控制器 (VC1) 的子级。 presentingViewController
属性 VC3 returns VC1 而不是VC2。这是预期的行为吗?有没有办法从 VC3 访问 VC2 而无需在 VC3 中设置 属性?
获得引用和执行某些操作的可能性很小,但我仍然建议使用委托模式 - 它是最灵活和干净的解决方案。
presentingViewController
将是嵌入在导航堆栈中的一个,而 vc2 不在导航堆栈中,而 vc1 在导航中,这就是你得到它的原因。您可以访问 vc1 的 childViewControllers
,您可以从中获取 VC2。或者您可以在 vc3 中保留 vc2 的 weak
引用,并且也可以使用那个。
1.Apple docs
2.Apple docs
我从一个视图控制器 (VC2) 呈现一个视图控制器 (VC3),该视图控制器 (VC2) 是另一个视图控制器 (VC1) 的子级。 presentingViewController
属性 VC3 returns VC1 而不是VC2。这是预期的行为吗?有没有办法从 VC3 访问 VC2 而无需在 VC3 中设置 属性?
获得引用和执行某些操作的可能性很小,但我仍然建议使用委托模式 - 它是最灵活和干净的解决方案。
presentingViewController
将是嵌入在导航堆栈中的一个,而 vc2 不在导航堆栈中,而 vc1 在导航中,这就是你得到它的原因。您可以访问 vc1 的 childViewControllers
,您可以从中获取 VC2。或者您可以在 vc3 中保留 vc2 的 weak
引用,并且也可以使用那个。
1.Apple docs 2.Apple docs