gpt4 book ai didi

iphone - 用于具有转换的非导航应用程序的 View Controller /NIB 架构?

转载 作者:行者123 更新时间:2023-12-03 19:11:06 25 4
gpt4 key购买 nike

我正在修补一个 iPad 应用程序(与许多 iPad 应用程序一样),它不使用 UINavigation Root View 控制系统,因此我没有每个应用程序“ View ”的自然所有权。我基本上有两个基本 View :文档 ListView 和文档编辑 View 。

我正在使用 UIView 动画来从选定的文档转到编辑 View 。

我的顶部还有一个工具栏,它存在于两个“ View ”中(具有不同的按钮)。

因为我没有 UINavigation 为我运行节目,所以我倾向于将越来越多的东西扔到一个 NIB 和一个拥有整个容器的 View Controller 中。但现在我试图弄清楚如何从文档 ListView 切换到编辑 View (如果编辑 View 位于不同的 NIB 内),同时也保留工具栏。

有人对这样的应用程序结构有想法或经验吗?我发现文档缺乏围绕代码/UI 结构的最佳实践,除了琐碎的单屏应用程序或完整的导航应用程序之外。

根据文档,您“不应该”让父/ subview Controller 拥有同一“屏幕”的子组件,但这意味着一个巨大的鸣笛 View Controller 基本上包含整个应用程序,并且不能是对的。

不确定是否有“正确答案”;我正在寻找一些明智的例子或建议。几个月来没有人触及这个问题,因此我添加了赏金以产生良好的讨论。 :)

谢谢!

更新:我不是在谈论分割 View ,分割 View Controller 显然可以很好地处理分割 View 。相反,看看 Apple 的 iWork 应用程序(例如 Pages),它们具有文档 ListView 和独立的编辑 View ,但这些 View 通过动画相关联。

也许这里真正的问题是:您将如何(或者您甚至可以?)自己构建一个“容器” View Controller ,例如分割 View 或导航 Controller ?你需要从头开始构建整个该死的东西吗?我感觉你是这样的,因为 View Controller 之间的交互中似乎隐藏着连线。如果是这样,对此有什么想法吗?

最佳答案

我认为 View Controller 中唯一隐藏的连接是设置parentViewController,这是支持为分割和导航声明的类别所必需的。

View Controller 被设计为嵌套的,每个 Controller 都拥有 View 层次结构的一部分。唯一的设计目标是没有 View Controller 进入另一个 Controller 的 View 层次结构。父 View Controller 通常会调用添加子 Controller ,以便它可以在其拥有的 View 层次结构中设置 View 的框架。 subview Controller 不应该对其控制的 View 的 super View 执行任何操作,因为该 View 由另一个 Controller 拥有。它不应该设置它控制的 View 的中心或框架。

例如,导航 Controller 有一个push方法,它删除以前的 Controller View ,添加新的 Controller View ,并设置新添加的 View 的框架。一般来说,父 View Controller 可以自由设置子 Controller View 的框架,但不能设置边界。

如果您想更改导航 Controller 的动画,我认为您应该首先使用animated: 参数实现每个方法。设置动画,然后在提交动画之前调用 super 并关闭动画标志。

关于iphone - 用于具有转换的非导航应用程序的 View Controller /NIB 架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2511558/

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