TextField禁用粘贴、选择和全选功能

来源:互联网 发布:个人网络消费贷款 编辑:程序博客网 时间:2024/06/06 20:53

众所周知,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 0