Iphone Can';无法在UITextView中删除键盘

Iphone Can';无法在UITextView中删除键盘,iphone,keyboard,uitextview,hide,Iphone,Keyboard,Uitextview,Hide,我有一个表,在其中一个单元格中,我保留了一个UITextView。当用户点击它时,键盘出现。我试着用各种方法来摆脱它。我的第一种方法是检测UITextView的表单元格上的点击,但由于文本视图占据了大部分,因此不适合。然后我尝试在工具栏上添加一个按钮,每当用户按下它时,keybord就会随着resignFirstResponder消失,但它无法工作。似乎只有当我与UITextView辞职FirstResponder处于同一视图中时,FirstResponder才能工作。那么,我如何从另一个角度摆

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


谢谢。

你说“不行”是什么意思。如果txtView是您的UITe4xtView,您的意思是将按钮与具有[txtView resignFirstResponder]的操作关联将不起作用吗?我以前使用过这段代码,在不知道控件大小和意图的情况下,这段代码对我来说很有用,要给出一个可靠的建议有点困难。但是,如果您正在寻找只读文本视图,为什么不考虑UILABEL呢?如果它将包含大量只读文本,并且需要丰富的格式,请考虑使用格式设置的UIWebVIEW。


当然,这个答案可能完全不合适。您能否澄清您的意图,或者显示正在运行的应用程序的屏幕截图(当然是未开发的)?

下面的方法使用返回键关闭UITextView键盘

在控制器中,将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键(例如,添加新行),则应该可以使用此方法。

我使用以下方法解决此类问题

- (BOOL)textFieldShouldReturn: tf_some_text_field {

[tf_some_text_field resignFirstResponder];
[tf_another_text_field_in_the_same_view resignFirstResponder];

return YES;
}

希望对您有所帮助……

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


如果用户点击你的文本视图,键盘就会停止显示。我想他有类似于[自动辞职第一响应者]的按钮。澄清一下就好了。我认为您的实现只适用于UITextField,而不适用于UITextView。UITextView支持多行的整个想法不是吗??否则,为什么不使用UITextField呢?