如何防止键盘显示但允许粘贴UITextView

时间:2015-10-05 18:42:12

标签: uitextview uitextviewdelegate

我有UITextView我想让用户粘贴但不输入(不是复制或粘贴)但不显示键盘。我尝试过可编辑/可选择的行为,但他们没有工作。

我还在resignFirstRepsonder方法中尝试了textViewShouldBeginEditing

所以任何人都可以帮助我。

1 个答案:

答案 0 :(得分:1)

最简单的解决方案可能是定制"粘贴"功能完全。例如,拥有一个根本不可选择/可编辑的UITextField,然后选择"粘贴"按钮连接到这样的方法:

- (IBAction)paste {
    UIPasteboard *pb = [UIPasteboard generalPasteboard];
    textField.text = [pb string];
}

当他们按下按钮时,无论他们复制的任何文字都会出现在TextField中,但您不必担心键盘行为,因为用户实际上从未与其进行过互动。

当用户选择TextField本身时,您甚至可以执行上面的代码,然后只是停止键盘出现,但从UI的角度来看,这将是违反直觉的。最好有一个他们点击的按钮,而不是改变选择TextField的既定行为。