Iphone selectall uitextfield并不总是全选

Iphone selectall uitextfield并不总是全选,iphone,objective-c,ios,uitextfield,selectall,Iphone,Objective C,Ios,Uitextfield,Selectall,在上面的例子中,文本字段选择正确,但当我从键盘返回并连续第二次点击文本字段时,它不会选择文本。如果我没有连续拾取该文本,或者在从键盘返回之前取消选择该文本,则该文本字段的下一个焦点将正确选择该文本 在上述情况下,如何选择文本?我找到了一个完美的解决方案Voke selectAll in next runloop: - (void)textFieldDidBeginEditing:(UITextField *)textField { [textField selectAll:self];

在上面的例子中,文本字段选择正确,但当我从键盘返回并连续第二次点击文本字段时,它不会选择文本。如果我没有连续拾取该文本,或者在从键盘返回之前取消选择该文本,则该文本字段的下一个焦点将正确选择该文本


在上述情况下,如何选择文本?

我找到了一个完美的解决方案Voke selectAll in next runloop:

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

我用中央调度解决了这个问题。您可以换行[textField selectAll:self];使用dispatch\u异步调用和dispatch\u get\u main\u队列作为第一个参数

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

谢谢,等我能行的时候我会试试的你一定是个天才!这是iOS 6和iOS 7上的一个bug,我认为唯一的解决方案是提交一个bug,然后等待修复。谢谢仍然存在一个错误:1578110UITextField-selectAll:仅每隔一次工作一次。这似乎仍然是一个错误,因为我尝试了:textField.selectAllnil和textField.performselectorUIResponder.selectAll:,with:textField,但都没有比每隔一次工作更多
    dispatch_async(dispatch_get_main_queue()){
        // ... code you want to run on the main queue goes here
    }