gpt4 book ai didi

ios - 呈现/呈现 View Controller 和父/ subview Controller 之间的交互是否在任何地方记录?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:07:50 28 4
gpt4 key购买 nike

阅读有关 iOS 中 UIViewControllers 更改的文档,我试图弄清楚呈现模态视图 Controller 之间的交互如何在自定义容器 View Controller 内工作。最终,我希望能够可靠地遍历呈现的 View Controller 链,即使其中一些 Controller 由 subview Controller 呈现。

(我正在开发一个库,而不是一个应用程序,所以我不会创建我将与之交互的层次结构。我只是想确保我的库能够在不同类型的层次结构中正常工作。)

所以我的问题归结为,当有人试图从 subview Controller 呈现 View Controller 时会发生什么?

[childViewController presentViewController:viewController animated:YES completion:nil];

由于呈现的 View Controller 旨在“接管”交互直到它被取消,所以对我来说呈现请求将转发给它的父级(或者实际上,沿着 parentViewControllers 链向上直到它到达没有 parentViewController 的 View Controller ),然后从该 View Controller 显示。否则,开发人员似乎可以做一些事情,比如从两个不同的 child 呈现模态视图 Controller 等,这在我看来是有问题的。 (例如,哪个呈现的 View Controller 优先?)。

此外,如果上述内容属实,似乎会产生一些影响。如果父 View Controller 正在显示呈现的 View Controller ,这将返回什么?

[childViewController presentedViewController];

它会是 nil 因为父级正在显示它吗?还是可以将此请求转发给父级,以便 parentViewController 及其任何 childViewControllers 都具有相同的结果?

无论如何,我已经准备好一个示例项目来开始运行一些场景,但我很好奇是否遗漏了任何文档?或者,如果有人已经知道这种互动发生的方式?

最佳答案

我不久前在容器 View Controller 上工作,发现默认实现会检查 parentViewController 是否存在,如果存在,它会将消息传递给父级。

我找不到关于它的任何文档,所以你不能 100% 依赖它。

关于ios - 呈现/呈现 View Controller 和父/ subview Controller 之间的交互是否在任何地方记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10344169/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com