如何在 Objective-C 中每个 UiButton 的 Enter 操作后成为 UiTextField 的第一响应者

How to BecomeFirstResponder the UiTextField after each UiButton's Enter action in Objective-C

我有 UITextField & UIButton。我想在每次输入操作(我的按钮操作)后 becomeFirstResponder 我的 TextField 但它不起作用!这是我的代码:

[_textfield becomeFirstResponder];

[_textfield addTarget:self action:@selector(backAction:) 
forControlEvents:UIControlEventEditingDidEndOnExit];

[_back addTarget:self action:@selector(backAction:) 
forControlEvents:UIControlEventTouchUpInside];

- (void)backAction:(id)sender
{
    [users addObject:_textfield.text];
    _textfield.text = nil;
    [_textfield becomeFirstResponder];
}

请检查您是否已将文本字段委托给视图控制器或添加代码

_textfiled.delegate = self

而不是 "backaction:" 为文本字段添加一个单独的操作。

[_textfield addTarget:self action:@selector(dismiss) forControlEvents:UIControlEventEditingDidEndOnExit];

并且在这个有针对性的方法中,

- (void)dismiss {
[self performSelector:@selector(backAction:) withObject:nil afterDelay:0]}

我试过的时候好像有用。

点击 return,编辑完成,键盘退出。但是 'backaction:' 会在此之前被触发并且键盘会消失。希望这有帮助。