使用键盘书写时如何检测文本结束?
How to detect end of text when writing with keyboard?
当用户按下删除按钮删除文本时,我想检测到文本在文本字段上结束 textfield.So 当用户到达删除文本的末尾时,我想检测它。
我使用以下方法来完成任务,但我无法执行 it.Problem 是文本字段变空后的事件然后它不会 detect.When 我在文本字段变空后再次键入然后它检测到但是那个时间大小是 1 不是 zero.Please 给我一些建议?
- (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;
}
您可以检查范围来解决问题:
-(BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
{
NSRange backspaceEndRange = NSMakeRange(0, 1);
if (NSEqualRanges(range, backspaceEndRange)){
NSLog(@"finished writing");
}
return YES;
}
当用户按下删除按钮删除文本时,我想检测到文本在文本字段上结束 textfield.So 当用户到达删除文本的末尾时,我想检测它。
我使用以下方法来完成任务,但我无法执行 it.Problem 是文本字段变空后的事件然后它不会 detect.When 我在文本字段变空后再次键入然后它检测到但是那个时间大小是 1 不是 zero.Please 给我一些建议?
- (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;
}
您可以检查范围来解决问题:
-(BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
{
NSRange backspaceEndRange = NSMakeRange(0, 1);
if (NSEqualRanges(range, backspaceEndRange)){
NSLog(@"finished writing");
}
return YES;
}