我知道如果您使用以下代码行,您可以检测用户在TEXT VIEW中输入的内容。检测用户是否输入了UITextField
if ([[textView text] isEqualToString:@"")
我想检测用户是否在文本FIELD中输入了任何内容,并且这不适用于文本字段。我应该改变什么?谢谢你的帮助!
我知道如果您使用以下代码行,您可以检测用户在TEXT VIEW中输入的内容。检测用户是否输入了UITextField
if ([[textView text] isEqualToString:@"")
我想检测用户是否在文本FIELD中输入了任何内容,并且这不适用于文本字段。我应该改变什么?谢谢你的帮助!
UITextFieldDelegate是找到此的首选方法。
- (void)textFieldDidBeginEditing:(UITextField *)textField
- 这只会告诉你,这已经成为第一个响应者/关键领域,这并不能保证用户修改的值
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
- 当过用户点击一个键这个方法会告诉你要更改文本,“粘贴”将导致多个字符在字符串中,回退一个或删除选择将导致字符串为空,...
- (void)textFieldDidEndEditing:(UITextField *)textField
- 这是一个常见的位置来检查该字段中的值与模型中的值进行比较,以查看是否发生了编辑。这只会在字段放弃“关键”状态时被调用,请注意,用户可以点击一个按钮,使得整个视图在被调用之前消失,通常可以用于跟踪您感兴趣的任何字段是否成为“重点领域”(见第一种方法)
它可以是有用的,相关的实施设置断点,以熟悉他们的调用顺序/逻辑
通过访问“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
我试过了,它没有工作。我忘了取消我的文本视图(我正在玩这个视图),我很兴奋,直到我意识到发生了什么。然后我重新链接文本字段,它不工作...此外,用户可以开始键入,然后删除所有内容...谢谢你尝试! –
这是从UITextField获取文本的正确方法。如果它不起作用,那么在你的结尾处有一个错误。 –
您可以检查文本长度,而不是内容
if ([[textView text] length]==0)
你似乎缺少一个冒号和一个括号,但除此之外,为什么它不能用于文本字段? – Joe
http://stackoverflow.com/questions/7010547/uitextfield-text-change-event将帮助你检测到变化 – Dejell