iphone - iPad 上的选项卡式表单

标签 iphone ios forms uitableview

我几周前才开始在 iOS 上编程,如果这些问题真的很基础,我很抱歉。

短篇小说:我正在设计一个需要捕获大量客户数据的 CRM 应用程序。我正在尝试模拟使用选项卡式表单的桌面应用程序。在 iPad 上实现此功能的最佳方式(技术上和视觉上)是什么?

我需要以下内容:

  • 每个选项卡(其中 5-6 个)包含许多不同类型的字段(带有标签),我喜欢为此使用专门的控件(例如 uidatepicker、uipickerview/uisegmentedcontrol、textarea+stepper、switch 等。 ), 而不仅仅是原始文本字段
  • 理想情况下(实际上这是一个非常关键的要求)UI 必须以编程方式生成,这样模型的更改就不需要手动调整 IB 中的表单
  • 能够在标签之间切换而不会丢失已在当前标签中输入的数据。

我到目前为止的进展,重新。整体切换机制:

  • 我最初想将选项卡切换器实现为分段控件,如 Matthias 的评论 here 中所述在不同 View 之间切换.然而,按需实例化 VC 意味着丢失已经输入的数据(除非我实现某种缓存,但我希望有更简单的方法)。

  • 我现在正在考虑通过以编程方式显示/隐藏 View 来切换 View 的更简单的方法,但我担心这可能会占用太多内存(我正在查看总共可能超过 100 个字段)。

至于表示每个选项卡中的表单字段:

  • 我可以在 IB 中手动布置它们(或作为表格 View 中的静态单元格),但我真的不想这样做,因为这基本上意味着 UI 是硬编码的并且难以更改
  • 我更喜欢以编程方式创建界面,但我不知道处理不同的字段类型、附加弹出窗口(例如日期字段的日期选择器)、处理字段事件等有多容易。

如果有人能给我一些建议,我将不胜感激。

TIA, 卢锡安

最佳答案

我认为您使用一个 View Controller 走在正确的轨道上,拥有一个 View ,然后具有您根据需要隐藏/显示的 subview 。

概括地说:

  • 一个顶级 UIView,它包含选项卡按钮(为此使用普通的 UIButton),并拥有多个 UIView
  • 每个 UIView 都有每个“选项卡”所需的字段

然后切换标签,只需隐藏一个 View 并显示另一个 View ,一切都会好起来的。

我不担心内存消耗 - iPad 的内存足以容纳 100 个 UI 控件,因为我不希望你做很多自定义图形。如果内存不足,您始终可以根据需要为每个选项卡创建控件 - 切换选项卡需要更长的时间,但会起作用。

至于以编程方式布局:这是完全可能的。创建 iPad UI 时,您有 2 个基本选项 - 使用 XIB 文件(使用 XCode 中的图形设计器设计),或在代码中执行,通常在 -viewWillAppear-viewDidLoad。所有相关的事情都可以完成 - 查看每个 UI 控件的文档以了解如何配置它。

关于iphone - iPad 上的选项卡式表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10690487/

相关文章:

ios - 无法在 swift 2.1 中读取 plist 文件

Javascript focus() 和 select() 怪癖

iphone - 如何从 coredata 中读取 NSData

iphone - UITableView 重新加载部分

iphone - iOS adhoc wifi 传感器数据

ios - Cell 中只有第一个 UILabel,更新了 UICollectionView - Swift

javascript - 具有多个突出显示字段的表单验证

javascript - 在两个 <input> 元素之间添加默认空格

iphone - UIImageView 的触摸事件处理程序

iphone - 只是无法弄清楚如何使用 navigationController 在 UITableView 中重新加载数据