8

iOS 7 中处理文本输入字段验证的适当方法是什么?是否有显示对话框的替代方法?

我对 iOS 应用程序没有太多经验(我更喜欢 android),我希望它类似于 android 的:

mEditText.setError("Error string");

我找到的最接近的是这个,但我想知道 iOS 中是否有原生的东西(如果可能,我想避免使用第 3 方库)。

提前致谢。

4

2 回答 2

8

我不知道像您提到的android示例这样简单的事情。但是,一旦您根据@Herre_84确定某个值无效,您就可以做一些不涉及弹出警报对话框的事情。

一个常见的做法是使用UITextField的覆盖视图来指示该值有误。在UITextField. 您可以在其中放置图像以指示输入的有效状态,如该问题的答案所示。更多详细信息在Apple 官方文档中。

您可以做的另一件不太常见的事情是使用attributedText属性UITextField来指示文本无效。例如,您可以将不正确的文本设置为不同的颜色。 TSValidatedTextField演示如何做到这一点。

最后,您可以使用一个完全独立的视图(可能出现在您的附近UITextField),并使用有效性信息进行更新。您可能必须通过共享的父视图控制器连接两个视图,以实现它们之间的通信。

于 2013-12-09T23:42:41.247 回答
2

没有标准或特定的“iOS7”验证文本的方式。UITextfield但是,您可以通过使用自己的委托方法来实现自己的“验证框架”(类似于您在添加的链接中指向的那个)

  • - (void)textFieldDidEndEditing:(UITextField *)textField,表示用户已完成编辑(例如,当他关闭键盘或按下“完成”按钮时)
  • - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string,当在 UITextField 中输入新字符时触发。

基于这些事件,您可以评估当前NSString使用UITextField它的text属性,并相应地调整您的 UI。

于 2013-10-14T14:25:43.587 回答