在iOS中实现表单的最佳实践是什么?

时间:2011-08-26 09:26:01

标签: iphone objective-c ios forms

我需要创建几个屏幕表单,用于输入数据和发布到服务器。我还没有做过这样的事情,所以我只是想知道有没有做到这一点的最佳实践。目前,我只会删除几个文本字段,无线电等,进行一些手动输入验证,将输入数据汇编到URL中,然后提交到服务器。

我正在考虑可用性,所以我认为在用户解除键盘(辞职第一响应者)后我应该实现“移动到下一个文本字段”。但是如果已经填充了所有输入并且用户更改了一个字段的值,则只需导航到提交按钮。所以,恕我直言,这可能是实施表格的一个实践的例子。您申请了哪些实践?

2 个答案:

答案 0 :(得分:34)

我实施表格的一些经验:

  • 将输入和标签放在UITableView(已分组)的行中。这就是Apple采用它的方式以及大多数用户习惯的方式。但要小心重复使用单元格,因为这可能导致您的输入以其他方式移动。换句话说,在单独的NSArray(或NSDictionary)中保留对输入的引用,以确保在重用UITableViewCell时它们不会丢失。

  • 使用键盘返回键移动到下一个输入是个好主意。如果您只是跟踪正在编辑的表格单元格,那么很容易做到,因此您可以使用其NSIndexPath继续下一个表格单元格。

  • 在用户进行修改时检查您的表单有效性,即通过收听UITextFieldTextDidChangeNotificationtextFieldShouldEndEditing:。如果表格有效,允许用户在退货时或使用完成按钮(或类似)提交。

  • 如果用户正在编辑表单中的最后一行,请将键盘返回按钮类型更改为完成或类似。

  • 更新:自发布此内容以来,在键盘顶部显示输入附件视图(带有上一个/下一个/完成的工具栏)也变得很常见。特别是当你有一个更广泛的形式,用户可能希望在输入之间来回切换。它非常easy to implement

希望有所帮助!

答案 1 :(得分:2)

在我的应用程序中还有几种形式,我手动使用了所有字段,并且为了验证我创建了验证函数。我们必须传递此值并检查它。如果您的表单具有相同的字段,则可以创建UiView for并在所有屏幕中使用该视图。但我会在检查和确认时间产生问题..

因此,更好的方法是手动拖放所有字段并为验证提供通用功能。 对于ResignFirstResponder,你必须检查所有字段,没有一个字段是空的,你可以重定向到下一页。我不知道任何内置的功能。

我希望这会对你有所帮助。