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

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)
        }
    }
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 4,816评论 1 6
  • 问题一: 设置UITextFeild 粘贴功能 UItextFeild本身自带粘贴功能,我们修改自带的粘贴功能,需...
    纯阳子_阅读 4,206评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,916评论 19 139
  • 今天早上看到朋友圈里 宋冬野在纽约中央公园 现场弹唱《安和桥》清晨听很安静
    Zen先生阅读 3,770评论 4 11
  • 哲人说,你说的话,就是你修得路。 会把你引向你说的方向。 不同的人表现出不同的风格。有的人潇洒,不拘一格;有的人小...
    此身越重洋l阅读 1,733评论 0 0

友情链接更多精彩内容