selectall uitextfield并不总是选择全部

shi*_*ity 8 iphone selectall objective-c uitextfield ios

- (void)textFieldDidBeginEditing:(UITextField *)textField {
    [textField selectAll:self];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    return YES;    
}
Run Code Online (Sandbox Code Playgroud)

在上面,textField正确选择但是当我从键盘返回并连续第二次点击textField时,它不会选择文本.如果我不连续选择它或者在从键盘返回之前取消选择文本,则textField的下一个焦点会正确选择文本.

如何选择上述案例中的文字?

fly*_*pig 10

我找到了一个完美的解决方案(在下一个runloop中调用selectAll):

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    [textField performSelector:@selector(selectAll:) withObject:textField afterDelay:0.f];
}
Run Code Online (Sandbox Code Playgroud)

  • 无论如何提起了一个错误:#15781101"UITextField -selectAll:每隔一段时间才有效". (2认同)