OGeek|极客世界-中国程序员成长平台

标题: ios - ViewController 的presentingViewController 设置错误? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 14:28
标题: ios - ViewController 的presentingViewController 设置错误?

如果 ViewControllerA 嵌入在 navigationController 中,并且 ViewControllerB 由 ViewControllerA 模态呈现。

当我打印 ViewControllerB 的presentingViewController 属性时,我发现presentingViewController 指向导航 Controller ,而不是ViewControllerA。

但我认为如果presentingViewController指向ViewControllerA更合理。



Best Answer-推荐答案


But i think if the presentingViewController point to ViewControllerA more reasonable

问题是,你认为什么是合理的并不重要。你所看到的是它实际上是如何工作的。你的工作是接受和理解它,而不是不同意它。

导航 Controller 是呈现 View Controller ,因为它是 Root View Controller 。这是一个全屏演示,因此导航 Controller 是 View Controller ,其 View 被呈现的 View Controller 的 View 替换。

事实上,您发送到 View Controller A present 被传递 到包含导航 Controller 。您可以告诉 View Controller A present 只是为了方便。

View Controller A 被 Apple 称为“源” View Controller ,因为它是向其发送 present 的 View Controller ,但无法从与 View Controller B 的对话中得知这一点.

(您可能想阅读 this section of my online book ,从这句话开始,“呈现 View Controller ......不一定是您发送 presentViewController:animated:completion: 的 View Controller 。 "在我的书中,我将源 View Controller 称为原始演示者。)

关于ios - ViewController 的presentingViewController 设置错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41114042/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4