我已使用此行UIViewController
将此UITextField
设置为viewDidLoad
中self.nameInputTextField.delegate = self;
的代理人。<UITextFieldDelegate>
。
我 通过在@interface
声明中添加[self.nameInputTextField resignFirstResponder]
来为该课程设置委托。
当我选择nextButton时,在调用的方法中,我在推送新视图控制器之前尝试了[self.view endEditing:YES]
以及- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[self.nameInputTextField resignFirstResponder];
return NO;
}
一行。
该类的其余部分不会操纵firstResponder。
我还实现了UITextField委托方法
:after
经过广泛搜索后,我没有发现任何相关问题。有很多类似的关于辞职键盘,但没有关于键盘辞职被推迟到视图转换完成之后的时间。注意 - 如果您在浏览器中重新加载此URL,您将从头开始再次看到gif。
答案 0 :(得分:0)
在ios中的任意位置隐藏键盘:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
for (UIView * txt in self.view.subviews){
if ([txt isKindOfClass:[UITextField class]] && [txt isFirstResponder]) {
[txt resignFirstResponder];
}
}
}
OR
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.view endEditing:YES];
}
答案 1 :(得分:0)
在viewWillDisappear
上重新启动键盘,问题应该解决。
修改强>
-(void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
self.nameInputTextField.text = @"";
[self.nameInputTextField resignFirstResponder];
}