gpt4 book ai didi

iphone - 屏幕上同时出现多个 View Controller ?

转载 作者:行者123 更新时间:2023-12-03 18:19:45 24 4
gpt4 key购买 nike

我正在尝试了解 Cocoa Touch 中的 Controller 。主要问题是我希望同时“屏幕上”有多个 Controller - 我希望有一个大 View (带有 Controller A),由由自己的 Controller (例如 B)控制的较小 View 组成。我希望这样,因为划分使代码更加清晰。糟糕的是,附加 Controller (B 型)并不是屏幕上的“一等公民”,例如它们不会收到自动旋转查询和通知。 (并且无法轻松显示模态 Controller ,它们必须将 presentModal... 消息发送到其父 Controller 。)

从 Cocoa 的角度来看,A Controller 和 B Controller 有什么区别?系统是否保留某种指向“最前面的 Controller ”的指针,这是一个向其发送通知之类的特权 Controller ?为什么其他 Controller 没有收到它们,即使他们的 View 显示在屏幕上? “屏幕上”有多个 Controller 是否被视为黑客行为?或者它是否受支持而我只是错过了一些点?谢谢。

<小时/>

有关我试图解决的问题的更多信息:我正在编写一个简单的照片浏览器。照片全屏显示,用户可以向左或向右滑动来更改照片。 A Controller 负责滚动部分,B Controller 负责每张照片本身。

隔离 B 似乎是个好主意,因为照片是从网络加载的,并且可能会发生很多情况,例如网络可能会出现故障等。在 B Controller 中,代码相当简单,因为 B 只适用于一张特定的照片。如果我将代码移至 A Controller ,事情就会变得困惑。

我对当前解决方案唯一不喜欢的是,我必须手动解决 B 不是“一流” Controller 的问题。我必须通过 A 手动将一些调用传递给 B,当 B 想要显示模式对话框时,它必须将 presentModal... 发送到 A。这很丑陋。

最佳答案

自 iOS 5 以来,现在对这种情况提供了一流的支持,称为 Controller 遏制。

swift controller containment

objc controller containment .

关于iphone - 屏幕上同时出现多个 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2423858/

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