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