iOS 7中的UITextField输入验证

时间:2013-10-14 13:55:54

标签: validation input uitextfield ios7

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

我对iOS应用程序没有多少经验(我更像是一个Android粉丝),我希望它类似于android的:

mEditText.setError("Error string");

我找到的最近的东西是library,但我想知道iOS中是否存在原生内容(如果可能,我希望避免使用第三方库)。

提前致谢。

2 个答案:

答案 0 :(得分:8)

我不知道你提到的android例子那么简单。但是,根据@Herre_84确定某个值无效后,您可以执行一些不涉及启动警报对话框的操作。

常见的做法是使用UITextField的叠加视图来指示该值是错误的。您可以在UITextField的左侧和右侧使用叠加视图。您可以在其中放置指示输入有效状态的图像,如this question的答案所示。更多详情请见the official Apple documentation

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

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

答案 1 :(得分:2)

没有标准或特定的“iOS7”验证文字的方式。但是,您可以使用UITextfield自己的委托方法(如

)实现自己的“验证框架”(类似于您在添加的链接中指向的那个)。
  • - (void)textFieldDidEndEditing:(UITextField *)textField,表示用户已完成编辑(例如,当他解除键盘或按下“完成”按钮时)
  • - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string,在UITextField中输入新字符时触发。

根据这些事件,您可以使用NSString属性评估UITextField中的当前text,并相应地调整您的用户界面。