自定义编写的分组UITableViews真的是在iOS上实现标准表单的方式吗?

时间:2011-07-18 18:44:26

标签: ios forms uitableview interface-builder formsets

这是什么

我注意到我使用的许多应用程序都有类似的方式来实现表单(集合)。例如:

enter image description here enter image description here

这基本上与“设置”应用中使用的方案相同。

我的问题

当我需要制作这样的东西时,我基本上会创建一个分组的UITableView,定义有多少个组,每个字段有多少个字段等等。cellForRowAtIndexPath基本上成为一个很大的转换语句将正确的表单字段设置为accesoryView。我在代码中预先创建了所有表单字段,并确保它们已正确设置。

然而,我有这种感觉,必须有一个更好的方法。这感觉就像是一大堆重复的代码。而且我发现很难做出漂亮的代码。

我想要什么

理想情况下,我只想完全从Interface Builder编写我的表单,因为它对我来说非常直观。因此,在Interface Builder中创建UITableView和它的内容。只是在IB中创建一个表单当然很简单,但不是同时将字段放在一个分组的tableview中 - 我真的很想要它,因为它看起来很漂亮和一致。

另一个选项类似于Settings bundles:我定义了我的字段的类型和名称,应用程序的代码呈现表格,创建字段实例等。

我正在寻找更好的东西,因为对我而言,这样一个非常常见的问题需要以如此复杂的方式处理,这似乎很奇怪。特别是考虑到许多常见问题已得到妥善处理。但是在这个问题上,我找不到任何东西。

所以:我的方法真的是显示这种形式的最佳方式吗?零件可以改进吗?有没有办法让我忽视现有的iOS库来帮助我?

1 个答案:

答案 0 :(得分:0)

UITableView确实是最好的方式。您可以使用UIScrollView,但由于您失去了UITableView提供的内置函数,因此会涉及更多工作。

如果您更喜欢使用我完全理解的IB,那么您可以在IB中创建每个UITableViewCell,使用对象进行布局,链接IBOutlet,然后将其包含在内进入你的UITableView。这也可以轻松地为您正在使用的对象设置操作和委托,例如UITextFieldUISwitch es。