gpt4 book ai didi

ipad - UIViewController 包含基础知识 - 如何在两个并排的 ViewController 上显示全屏 ViewController

转载 作者:行者123 更新时间:2023-12-02 05:06:03 24 4
gpt4 key购买 nike

我有一个关于 VC 遏制的类似问题可以解决我想要的最终结果,但我提出这个假设性问题是为了确定遏制的基本概念。

我有一个主 Controller 容器 (A),其中包含 viewController B 和 viewController C。ViewController B 占据屏幕的一半,C 占据另一半。

当我按下 VC B 上的按钮时,我希望另一个 View Controller (D) 占据整个屏幕。

我有显示“拆分” Controller B 和 C 的代码,但需要知道如何显示 viewController D。

我的问题:什么代码可以让 viewController D 显示,它会从哪里调用?

我花了几个小时寻找涉及此模式的问题,但无济于事。我假设 VC A 将负责显示它(否则它无法填满整个屏幕),而 VC B 上的按钮将涉及使用 parentViewController 的 VC A - 但我无法让它工作.

最佳答案

出于可重用性的原因, View Controller B 和 C(以及 D)应该独立于容器 View Controller 运行。这样,它们就可以在容器 View Controller 的内部和外部使用。

使用委托(delegate)可以实现您想要的。在 View Controller B 上创建一个委托(delegate)属性,并将容器 View Controller ( View Controller A)设置为 View Controller B 的委托(delegate)。按下按钮时,向代理发送消息 ([self.delegate buttonPressed]),B 将随后接收该消息。现在 B 可以添加另一个 subview Controller (D),它可以以您喜欢的任何方式呈现。

使用 parentViewController 可能有效,但如果您决定单独使用该 View Controller ,则此属性可能为 nil。

关于ipad - UIViewController 包含基础知识 - 如何在两个并排的 ViewController 上显示全屏 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11587471/

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