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

我需要创build几个屏幕表单,用于input数据并发布到服务器。 我还没有做过这样的东西,所以我只是想知道有没有什么最佳做法做到这一点。 目前,我只是放弃几个文本字段,收音机等,做一些手动inputvalidation,做一个input数据到URL的汇编,然后提交到服务器。

我在考虑可用性,所以我认为我应该在用户解散键盘后执行“移到下一个文本字段”(辞去第一个响应者)。 但是,如果所有的input已经被填充,并且用户改变了一个字段的值,那么只需导航到提交button。 所以,恕我直言,这可能是一个实践的forms实现的例子。 你有什么做法?

我的一些经验来自实施forms:

  • 将input和标签放在UITableView (分组)的行中。 这是苹果公司的做法,也是大多数用户习惯的方式。 但要小心细胞的重复使用,因为这可能会导致您的input移动。 换句话说,将引用保存在单独的NSArray (或NSDictionary )中以确保它们在重用UITableViewCells时不会丢失。

  • 使用键盘返回键移动到下一个input是一个好主意。 如果你只是跟踪你正在编辑的表格单元格,那么很容易,所以你可以使用它的NSIndexPath移动到下一个表格单元格。

  • 检查你的表单有效性当用户的修改,即通过听取UITextFieldTextDidChangeNotification和在textFieldShouldEndEditing: 如果表单有效,允许用户在返回或使用完成button(或类似)。

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

  • 更新 :自发布以来,在键盘顶部显示input附件视图(带有“上一个/下一个/完成”的工具栏)也变得非常常见。 特别是当你有一个更广泛的forms,用户可能希望在input之间来回切换。 而且实现起来很简单 。

希望有所帮助!

在我的应用程序也有几种forms,我已经手动使用所有领域和validation我创build了validationfunction,我们必须传递这个值,并检查它。如果你的表单有相同的领域比你可以创buildUiView的和使用在所有屏幕上的视图。 但我会在检查和validation时间生成问题..

所以最好的方法是手动拖放所有的字段,并进行validation。 对于ResignFirstResponder,你必须检查所有字段,没有一个字段是emplty比你可以redirect到下一页。我不知道任何内置的function。

我希望这能帮到您。