我有一个文字字段,里面有电话号码。它不应该被编辑,但用户应该有能力选择它长时间按在电话上。当贺龙按下文本应该被选中,而不是只是复制到剪贴板上。到目前为止,我只让它与isUserInteractionEnabled == true一起工作,但我仍然需要它是错误的。对我怎么做有什么建议吗?我现在的代码是:
func longPress(_ longPressGestureRecognizer: UILongPressGestureRecognizer) {
self.cell?.textField.isUserInteractionEnabled = true
self.cell?.textField.becomeFirstResponder()
self.cell?.textField.selectedTextRange = self.cell?.textField.textRange(from: (self.cell?.textField.beginningOfDocument)!, to: (self.cell?.textField.endOfDocument)!)
//self.cell?.textField.isUserInteractionEnabled = false
}发布于 2017-08-31 12:56:35
就您的目的而言,UITextField不是一个合适的选择。正如文档所述,UITextField是(由我添加的):
在接口中显示可编辑文本区域的对象。
因此,不能将UITextField设置为不可编辑。如果要在UI上显示不应该编辑的文本,请使用UILabel或UITextView。
您可以将UITextView的isEditable属性设置为false,只要isSelectable设置为true,它仍然是可选的。
UILabel只显示只读文本,因此在使用它时甚至不需要禁用编辑。
https://stackoverflow.com/questions/45981676
复制相似问题