如何在 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:' 会在此之前被触发并且键盘会消失。希望这有帮助。
我有 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:' 会在此之前被触发并且键盘会消失。希望这有帮助。