2012-05-21 45 views
1

几周前我刚开始在iOS上编程,所以很抱歉,如果这些问题真的很基础。iPad上的标签形式

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

我需要以下条件:

  • 每个选项卡(其中5-6)包含多种类型,我喜欢使用专门的控制的多个字段(带有标签)(例如的UIDatePicker ,uipickerview/uisegmentedcontrol,textarea +步进器,开关等),而不仅仅是原始文本字段
  • 理想情况下(实际上这是一个非常关键的要求)UI将不得不以编程方式生成,以便模型的改变不会需要手动调整IB中的表格
  • 能够在选项卡之间切换而不会丢失已输入的数据当前标签。

我到目前为止的进度,整体切换机构:

  • 我最初被认为具有作为分段的控制来实现的选项卡切换器,如在马提亚注释here描述不同视图之间的切换。然而,按需实例化VC意味着丢失已经输入的数据(除非我实现某种缓存,但我希望更简单一些)。我正在考虑通过以编程方式显示/隐藏它们来切换视图的更简单的方法,但我恐怕这可能会使用太多的内存(我总共可能看到超过100个字段)。

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

  • 我可以手动在IB(或静态细胞在tableview中)布置它们,但我真的不喜欢这样做,因为它基本上意味着UI是硬编码的并且难以改变
  • 我宁愿以编程方式创建接口,但我不知道处理不同字段类型有多容易,附加弹出窗口(例如,用于日期选择器日期字段),处理现场事件等。

如果有人有任何我可以使用的指针,我会很感激。

TIA, 卢西恩

+0

你使用UITabBarController为你的基于标签的应用程序?这些标签以哪种方式? – Mrunal

+0

是的,我已经使用UITabBarController,但对于应用程序的主要部分,所以它不是一个选项来实现表单标签作为标签栏项目。这就是为什么我在看uisegulatedcontroller或类似的东西。表单选项卡必须显示在子视图中,而不是全屏。 – lucianf

+0

我建议你使用自定义按钮,它看起来像UITabBarController。 – Mrunal

回答

0

我认为你是在正确的轨道与一个视图控制器上,拥有一个观点,然后有你需要隐藏/显示子视图。

广义:

  • 一个顶层的UIView,其中包含的标签按钮(用于此普通UIButtons),和拥有几个UIViews
  • 每个UIView的具有所需要的每一个“标签”
  • 字段

然后切换选项卡,只隐藏一个视图,并显示另一个,一切都会好。

我不担心内存消耗 - 一个iPad有足够的内存来存储数百个UI控件,因为我不指望你会做很多自定义图形。如果内存不足,则可以根据需要为每个选项卡创建控件 - 切换选项卡需要更长的时间,但可以工作。

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