众所周知,TextField默认情况下,双击会出现“Paste”等提示复制粘贴的快捷菜单,方便用户快速编辑文本,但很多情况下,我们并不希望用户能够粘贴文本【虽然这样不友好,但万一产品经理要这么实现呢?】,那么我们可以这样做:
方法
自定义TextField
重写canPerformAction方法
class CustomTextField: UITextField { /// 是否只是用于显示(禁用粘贴、选择和全选功能) var displayOnly = false /// 禁用粘贴 var disablePaste = false /// 禁用选择 var disableSelect = false /// 禁用全选 var disableSelectAll = false override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool { if displayOnly { return false } if disablePaste && action == #selector(paste(_:)) { return false } if disableSelect && action == #selector(select(_:)) { return false } if disableSelectAll && action == #selector(selectAll(_:)) { return false } return super.canPerformAction(action, withSender: sender) } }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)