我无法通过textFieldShouldEndEditing进行调用。我已经在界面生成器中重新创建了链接并尝试过,但似乎没有任何效果。知道为什么不会这样做吗?
修改
-(BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
NSLog(@"Done editing...");
[textField resignFirstResponder];
return YES;
}
答案 0 :(得分:1)
你需要代表!
尝试添加.h <UITextFieldDelegate>
和你的.m
_yourTextField.delegate = self
。
有效。
答案 1 :(得分:1)
试试这段代码。
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[Self.view EndEditing:YES];
return YES;
}
也使用_myTextField.delegate = self
;在ViewDidLoad
在您的.h文件中,在您的班级名称后添加<UITextFieldDelegate>
。
答案 2 :(得分:0)
你可以尝试这段代码......
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
return YES;
}
我希望这会对你有所帮助。
快乐的编码。
答案 3 :(得分:0)
您应该将textField的委托设置为您实施textFieldShouldEndEditing:
的类。
你可以用两种方式做到:
首先,在InterfaceBuilder中,按住Ctrl键从组件拖动到viewController,然后选择“委托”。
或者,在班级的viewDidLoad
中添加以下行:
_myTextField.delegate = self;
对于这两种方式,在您的.h文件中,在您的班级名称后添加<UITextFieldDelegate>
。
答案 4 :(得分:0)
只是为了好玩,如果你想要非常喜欢,只要用户触摸屏幕上的任何地方,你就可以让键盘消失。在ViewDidLoad中添加此代码,它将起作用。
也请阅读此Stackoverflow链接 - Dismiss iphone keyboard
- (void)viewDidLoad
{
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(dismissKeyboard)];
[self.view addGestureRecognizer:tap];
}
-(void)dismissKeyboard
{
//here text1 is your custom UITextField
[text1 resignFirstResponder];
}