美文网首页
TextField禁用粘贴、选择和全选功能

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

作者: chernyog | 来源:发表于2016-11-16 17:33 被阅读55次

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

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

相关文章

网友评论

      本文标题:TextField禁用粘贴、选择和全选功能

      本文链接:https://www.haomeiwen.com/subject/aeprpttx.html