无法摆脱UITextView中的键盘

时间:2009-09-21 20:15:37

标签: iphone keyboard uitextview hide

我有一张桌子,在其中一个单元格中我保留了一个UITextView。当用户点击它时,键盘出现。我正在尝试各种方法来摆脱它。我的第一种方法是检测UITextView的表格单元格上的点击,但由于文本视图占用了大部分,因此不适合。然后我尝试向工具栏添加一个按钮,每当用户按下它时,键盘就会随着resignFirstResponder消失,但它不起作用。似乎只有当我在与UITextView resignFirstResponder相同的视图中工作时。那么如何从不同的视角中摆脱键盘呢?

感谢。

5 个答案:

答案 0 :(得分:1)

你是什么意思“它不会起作用”。如果txtView是你的UITe4xtView,你的意思是将按钮与[txtView resignFirstResponder]的动作关联不起作用吗?我之前使用过此代码,它适用于我

答案 1 :(得分:1)

下面的方法使用Return键来关闭UITextView键盘。

在Controller中,将UITextView的委托设置为self 像这样:

myTextView.delegate=self;

然后添加此方法:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range 
 replacementText:(NSString *)text
{
 // Any new character added is passed in as the "text" parameter
 if ([text isEqualToString:@"\n"]) {
  // Be sure to test for equality using the "isEqualToString" message
  [textView resignFirstResponder];

  // Return FALSE so that the final '\n' character doesn't get added
  return FALSE;
 }
 // For any other character return TRUE so that the text gets added to the view
 return TRUE;
}

如果你没有使用Return键作为真正的Return键(例如添加新行),这应该有用。

答案 2 :(得分:0)

在不知道控件的大小和意图的情况下,提出一个可靠的建议有点困难。但是,如果您正在寻找只读文本视图,为什么不考虑使用UILabel?如果它包含大量只读文本并且您需要丰富的格式,请考虑使用您的格式的UIWebView。

当然,这个答案可能完全不合适。你能澄清你的意图吗,也许会显示正在进行的应用程序的屏幕截图(当然还未开发)?

答案 3 :(得分:0)

尝试取消选中Interface Builder中“文本视图属性”窗口中的“可编辑”选项。

如果用户点击TextView

,这会阻止键盘显示

答案 4 :(得分:-1)

我用于那种问题,下面的方法

- (BOOL)textFieldShouldReturn: tf_some_text_field {

[tf_some_text_field resignFirstResponder];
[tf_another_text_field_in_the_same_view resignFirstResponder];

return YES;
}
希望它有所帮助...

相关问题