【问题标题】:What are the best practices for implementing form in iOS在 iOS 中实现表单的最佳实践是什么
【发布时间】:2011-08-26 09:26:00
【问题描述】:

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

我正在考虑可用性,所以我认为我应该在用户关闭键盘(辞去第一响应者)后实现“移动到下一个文本字段”。但是,如果所有输入都已填满并且用户更改了一个字段的值,那么只需导航到提交按钮。因此,恕我直言,这可能是实施表单的一个示例。您采用什么做法?

【问题讨论】:

    标签: iphone objective-c ios forms


    【解决方案1】:

    我实现表单的一些经验:

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

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

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

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

    • 更新:自从发布此内容后,在键盘顶部显示输入附件视图(带有 Prev/Next/Done 的工具栏)也变得很常见。特别是当您有一个更广泛的表单时,用户可能希望在输入之间来回切换。而且很easy to implement

    希望有帮助!

    【讨论】:

    • 谢谢。此外,是否有任何自动验证输入的提示?我会手动验证每个输入,只是想知道是否还有其他选项。
    • 嗯,我没有遇到过。但它通常是非常具体的验证,所以我不需要(还)......
    【解决方案2】:

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

    所以最好手动拖放所有字段并使用通用功能进行验证。 对于 ResignFirstResponder,您必须检查所有字段,确保没有一个字段为空,然后才能重定向到下一页。我不知道有任何内置功能。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-24
      • 1970-01-01
      • 1970-01-01
      • 2012-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多