gpt4 book ai didi

ios - 找出 UITextfield 的结束编辑无需辞职第一响应者

转载 作者:可可西里 更新时间:2023-11-01 04:08:55 26 4
gpt4 key购买 nike

当用户在 UITextfield 中输入时,他停了 2 秒,光标仍然在 UITextfield 上,那么我们如何识别这个事件呢?即我想检查编辑是否结束,而不是从 UITextField 中退出第一响应者。有什么方法可以做到这一点?

最佳答案

是的,我们可以检查一下!使用 UITextField 委托(delegate),- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

- (void) callMeAfterTwoSeconds {
NSLog(@"I'll call after two seconds of inactivity!");
}

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
[NSRunLoop cancelPreviousPerformRequestsWithTarget:self];
[self performSelector:@selector(callMeAfterTwoSeconds) withObject:nil afterDelay:2.0];

return YES;
}

当你打字时(敲击键盘上的键),它会取消之前对 callMeAfterTwoSeconds 函数的调用,一旦你停止,它就会将它设置为在延迟 2 秒后调用,是的,它将在 2 秒后调用。

更新:即使您可以将该文本字段作为对象传递给 performSelector 以了解哪个文本字段处于非事件状态,因为您的 callMeAfterTwoSeconds 函数将类似于,

- (void) callMeAfterTwoSeconds:(UITextField *)textfield {
if(textfield == txtUserName) {
NSLog(@"User textfield has NO activity from last two seconds!"); }
}

关于ios - 找出 UITextfield 的结束编辑无需辞职第一响应者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15408660/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com