无法在iOS模拟器中关闭键盘

时间:2012-11-23 13:21:40

标签: ios ios-simulator

我无法通过textFieldShouldEndEditing进行调用。我已经在界面生成器中重新创建了链接并尝试过,但似乎没有任何效果。知道为什么不会这样做吗?

修改

 -(BOOL)textFieldShouldEndEditing:(UITextField *)textField
 {
     NSLog(@"Done editing...");
     [textField resignFirstResponder];
      return YES;
 }

5 个答案:

答案 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];
}