gpt4 book ai didi

iphone - 在 iOS 中以编程方式导航

转载 作者:行者123 更新时间:2023-12-01 17:14:52 25 4
gpt4 key购买 nike

我正在将现有的 Android 应用程序移植到 iOS 的过程中,我在这种环境下相当缺乏经验。到目前为止,我阅读的用于导航多个 View 的示例都使用某种视觉用户控件来触发 View 的加载和卸载(标签栏、导航栏)。这个应用程序的导航需要非常严格,不允许用户在三个 View 之间自由移动。

该应用程序需要有一个全屏启动 View 、一个用户交互的主视图和一个用于数据收集的第三个 View 。启动画面应该会出现,当点击启动画面时,用户应该被导航到主视图。主视图 Controller 中将有自定义逻辑,用于确定是否需要数据,此时应导航到数据收集 View 。输入有效数据并且用户单击确定后,它应该导航回主视图。

到目前为止,我所读到的是所有 View 都应该有一个关联的 UIViewController 类,而做到这一点的简单方法是一次性创建 XIB 和 UIViewController 类并将它们链接在一起(我有很多示例/书籍/教程我可以引用那部分)。我相信我读到的是应用程序应该有一个根 UIViewController 来处理加载其他程序并在它们之间导航。

我的问题是:
我应该从哪个类派生用于加载其他 View Controller 的主视图 Controller ?
如何将其连接到应用程序,以便它知道将其加载为主 Controller ?
在应用程序中拥有导航 Controller 并允许其他 View 获取对它的引用的公认标准方式是什么?我的 UIViewController 应该持有对其父 Controller 的引用,还是应该在需要时向 UIApplication 请求对它的引用?如何确保在用户导航时不会实例化 View 及其 Controller 的额外副本?

最佳答案

What class should I derive from for my main view controller that I use to load the others?



UIViewController

How do I wire that up to the app so that it knows to load this as the main controller?



阅读 the "Defining Your Subclass" section of View Controller Programming Guide for iOS .从头开始 - 阅读整个内容。这一切都很重要,你不妨现在就开始学习它。另请阅读 iOS 应用程序编程指南。再一次,阅读全文,但是 the application lifecycle part与您的问题最相关。

What is the accepted standard way of having a navigation controller in the app and allowing the other views to obtain a reference to it?



同样,这在 View Controller Programming Guide 中有很好的解释。 View 不应该关心导航 Controller ,但是作为导航堆栈一部分的任何 View Controller 都可以通过它们各自的 navigationController 直接访问导航 Controller 。特性。

Should my UIViewControllers hold a reference to their parent controller, or should they ask the UIApplication for a reference to it when needed?



View Controller 已经在其(惊喜!) parentController 中引用了它的父 Controller 。属性(property)。 Controller 最好避免对其假设过多
parent ,虽然。如果 Controller 期望其父级是某种类型或响应某些消息,那么重用该 Controller 或重新组织您的应用程序将变得更加困难。尝试在创建 Controller 时为 Controller 提供它需要做的事情。如果 Controller 需要请求额外的数据或类似的东西,委托(delegate)是一个很好的方法。

How do I make sure I don't instantiate extra copies of the views and their controllers as the user navigates?



谨慎行事。在结构合理的应用程序中创建额外的 View 副本并没有太大的危险,因为每个 View Controller 都应该处理自己的 View 。如果您发现自己在拥有它们的 View Controller 的上下文之外加载或以其他方式创建 View ,请停止。

关于iphone - 在 iOS 中以编程方式导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5419486/

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