一旦UITextView成为iPhone SDK中的第一个响应者,如何隐藏键盘?

时间:2010-12-23 12:19:26

标签: iphone objective-c cocoa-touch ios4 uitextview

在我的iPhone应用程序中,当我点击UITextView键盘变得可见时

我尝试在“textDidEndOnExit”事件中使用resignFirstResponder,但键盘不会隐藏。

隐藏键盘应该怎么做?

请帮助和建议, 感谢。

6 个答案:

答案 0 :(得分:2)

这是关于这个主题的另一个主题: how to hide the keyboard when empty area is touched on iphone

我认为这可以帮助你。

答案 1 :(得分:1)

我建议你保留一个工具栏,在键盘上方的“Dismiss”按钮内。单击“关闭”按钮时,请撤消响应者并隐藏工具栏。在textView textViewShouldBeginEditing中显示工具栏。默认隐藏工具栏。alt text

答案 2 :(得分:1)

如果您希望UITextView不允许回车,并在用户按下返回键时关闭(或者如果您更改了返回键类型则完成),然后实现UITextViewDelegate协议并使用如下内容:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
  if ([text isEqualToString:@"\n"]) {
      [textView resignFirstResponder];
      return NO;
  }
  return YES;
}

答案 3 :(得分:1)

   oneway, you can also hide keyboard when touch in view screen

 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
      UITouch * touch = [touches anyObject];
      if(touch.phase == UITouchPhaseBegan) {
      [txtDetail resignFirstResponder];
     }
  }

答案 4 :(得分:0)

创建一个UIButton或UiBarButton并为其分配一个写入[textView resignFirstResponder];

的方法

答案 5 :(得分:-1)

 - (BOOL)textViewShouldBeginEditing:(UITextView *)textView{


    return NO;
}

返回否;不会让你的键盘出现。希望它有所帮助。你不需要任何工具栏或其他东西。试一试......