用键盘书写时如何检测文本结尾?

时间:2015-07-27 08:48:13

标签: ios objective-c iphone xcode ipad

当用户按下删除按钮删除文本字段中的文本时,我想检测文本字段已经结束。所以当用户到达删除文本的结尾时,我想要检测它。

我已经使用了以下来完成任务,但我无法做到。问题是文本字段变空后的事件然后它没有检测到。当我再次输入文本字段变为空时它会检测到但是时间大小为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;

}

1 个答案:

答案 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;
}