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

Posted

技术标签:

【中文标题】如何防止键盘显示但允许粘贴 UITextView【英文标题】:How to prevent keyboard display but allow paste UITextView 【发布时间】:2015-10-05 18:42:11 【问题描述】:

我有一个UITextView,我希望允许用户粘贴但不能输入(不能复制或粘贴)但不显示键盘。我尝试了可编辑/可选择的行为,但它们不起作用。

我也在textViewShouldBeginEditing方法中尝试过resignFirstRepsonder

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

【问题讨论】:

【参考方案1】:

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

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

这样,当他们按下按钮时,他们复制的任何文本都会出现在 TextField 中,但您不必担心键盘行为,因为用户实际上从未与之交互。

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

【讨论】:

这很奏效,我使用 textViewshouldBeginEdting 方法来执行该功能

以上是关于如何防止键盘显示但允许粘贴 UITextView的主要内容,如果未能解决你的问题,请参考以下文章

如何防止键盘改变 Ionic 中的内容布局?

显示键盘时防止 DialogFragment 调整大小/折叠

如何防止在WinForms TextBox中按下alt键引起的哔声?

隐藏 iOS 键盘,但允许用户移动光标

底部对话框打开时如何防止键盘关闭?

如何防止最后一个表格单元格与键盘重叠