如何以编程方式从textview中解除键盘

时间:2012-05-23 17:16:51

标签: iphone ios uitextview

如果没有在iOS中调用resignFirstResponder,有没有办法隐藏或不显示键盘?我知道隐藏键盘的不同方法,首先是使textview不可编辑,或者使用

- (BOOL)textFieldShouldEndEditing:(UITextView *)textview
{
    [textview resignFirstResponder];
}

但在我的情况下,这些方法将无法解决,因为我只想解除或隐藏键盘,但需要在textview中进行编辑。我有一个文本视图,其中包含一些文本,当我点击它需要选择的句子时,我已经很好地完成了选择部分,但是当我在我的项目中编写上面的键盘解雇方法时,没有出现被点击的句子的选择,。有什么方法可以解决这个问题。

2 个答案:

答案 0 :(得分:4)

仅当您处于编辑模式时,文本字段的选择才会保留。当您辞职的第一响应者时,您的选择也会消失。

为避免将键盘置于编辑模式,您可以更改输入视图。例如,查看代码

    textview.inputView = [[UIView alloc] init];

这会带来自定义输入视图,但不可见。

答案 1 :(得分:1)

添加

self.textView.editable = NO;

试试这个

NSRange selection = [yourTextView.text rangeOfString:yourTextView.text]; 
if( selection.location != NSNotFound ){ yourTextView.selectedRange = selection; }

它将从textview中删除键盘。希望它有所帮助。