如果 ViewControllerA 嵌入在 navigationController 中,并且 ViewControllerB 由 ViewControllerA 模态呈现。
当我打印 ViewControllerB 的presentingViewController 属性时,我发现presentingViewController 指向导航 Controller ,而不是ViewControllerA。
但我认为如果presentingViewController指向ViewControllerA更合理。
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 |