当用户按下删除按钮删除文本字段中的文本时,我想检测文本字段已经结束。所以当用户到达删除文本的结尾时,我想要检测它。
我已经使用了以下来完成任务,但我无法做到。问题是文本字段变空后的事件然后它没有检测到。当我再次输入文本字段变为空时它会检测到但是时间大小为1而不是零。请给我一些建议吗?
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (textField == self.txt_Search)
{
NSLog(@"out if");
if (![string isEqualToString:textField.text] )
{
if([self.txt_Search.text length]==0)
{
NSLog(@"finished writing");
}
}
}
return YES;
}
答案 0 :(得分:2)
你可以检查范围来做到这一点:
-(BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
{
NSRange backspaceEndRange = NSMakeRange(0, 1);
if (NSEqualRanges(range, backspaceEndRange)){
NSLog(@"finished writing");
}
return YES;
}