我知道如果您使用以下代码行,您可以检测用户在TEXT VIEW中输入的内容。
if ([[textView text] isEqualToString:@"")
我想检测用户是否在文本FIELD中输入了任何内容,这对文本字段不起作用。我应该改变什么?谢谢你的帮助!
答案 0 :(得分:11)
UITextFieldDelegate是了解此问题的首选方式。
- (void)textFieldDidBeginEditing:(UITextField *)textField
- 这只会告诉你它已成为第一个响应者/关键字段,这并不能保证用户修改了值
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
- 此方法会告诉您用户何时点击某个键来更改文本,“粘贴”会导致多个字符出现在字符串中,退格会超过一个字符,或删除选择内容导致字符串为空,...
- (void)textFieldDidEndEditing:(UITextField *)textField
- 这是一个常用位置,可根据模型中的值检查字段中的值,以查看是否发生了编辑。这只会在字段放弃“关键”状态时调用,请注意用户可以点击一个按钮以使整个视图在调用之前消失,通常可以跟踪您感兴趣的任何字段是否成为“关键领域”(见第一种方法)
在相关实现中设置断点以熟悉其调用顺序/逻辑
非常有用答案 1 :(得分:1)
您可以通过访问“text”属性,以与UITextView相同的方式检索UITextField的内容。下面的代码是文本字段不为空。
if (![someTextField.text isEqualToString:@""])
{
NSLog(@"someTextField is not empty");
}
您还可以使用UITextField委托来检测用户何时开始输入,停止输入等。有关该内容的更多信息,请参阅文档。
最后,这是UITextField文档的链接。 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextField_Class/Reference/UITextField.html#//apple_ref/doc/uid/TP40006888
答案 2 :(得分:0)
您可以检查文字长度而不是内容
if ([[textView text] length]==0)