gpt4 book ai didi

iphone - 关于 iOS 应用程序的复杂设计问题

转载 作者:行者123 更新时间:2023-12-01 17:00:49 24 4
gpt4 key购买 nike

所以我有一个关于我正在为 iPhone 开发的应用程序的有趣设计问题。我正在创建一个处理图像的应用程序,并且可以执行不同类型的操作。因此,用户打开应用程序,并选择他们想要执行的操作类型,并通过一步一步的过程来执行操作。

很多操作都是相似的,所以代码可以在这里重用。因此,我决定创建一个 View 和一个 View Controller ,而不是为每个操作的每个窗口创建一个 View Controller 。 View 包含每个图像操作的步骤,每次递增到下一步时,它都会适本地重新组织自己。 View Controller 由导航 Controller 控制,每次用户前进到他们尝试执行的任何图像操作的下一步(即在堆栈上推送一个新的 View Controller )时,我都会复制我的 View 对象,将其设置为将其组件重新组织到适当的步骤,然后将其发送到将显示它的新 View Controller 。

所以我的问题是,对于操作的某些阶段,我需要向附加到 View Controller 的通用工具栏添加一些按钮(因为这是一个模态视图,所以这个工具栏将有一个主页按钮,可以启用用户退出回到主屏幕)。基本上,我有几个关于我应该如何处理这个问题的问题:

1)我是否应该简单地将工具栏添加到我正在使用的 View 中,而不是 View Controller 。如果是这样,我将如何让工具栏上的主页按钮退出模态视图?

2) 我是否应该将工具栏保留在 View Controller 上,并让我的 View 返回一组按钮以在 View 加载时添加到其中?然后我想我必须在我的 View Controller 中列出我所有的操作方法?

3)我是否应该将工具栏保留在 View Controller 上,但将工具栏上的指针发送到我的 View 对象,然后在我的 View 类中添加按钮?那么我可以在我的 View 类中添加我的操作方法吗?

无论如何,对不起,如果这很复杂,如果您有任何后续问题,请告诉我。

最佳答案

1)好的。

对于解雇,您的 View 是否有指向 View Controller 的指针?像这样的东西怎么样:

[self.viewController.parentViewController dismissModalViewControllerAnimated:YES];

不确定我是否完全了解您的层次结构是如何组织的。这只是我的猜测。

2)这对我来说似乎很笨拙。您必须定义某种数据结构来描述 View 在按钮中想要的内容,并列出它们。 View Controller 必须请求该列表,然后通过它们。

3)这似乎是最好的选择。但我不会让您的 View 直接将 subview 添加到工具栏。创建一个 ToolbarView 自定义 View 。给它某种 addButton 方法,参数描述您希望按钮具有哪些基本属性,例如标题、目标和操作。让 ToolbarView 决定它的外观、位置等。

您的操作方法可以继续您的 View 类吗?是的,我猜,但他们不应该。推荐的 iPhone 设计模式是 View 不应该做任何事情,它们应该只是展示东西。做事的方法应该在 View Controller 上,即使他们所做的唯一一件事就是改变正在显示的 View 。

关于iphone - 关于 iOS 应用程序的复杂设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7155817/

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