欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS开发之TextField禁用粘贴、选择和全选功能

程序员文章站 2023-12-18 15:03:34
众所周知,textfield默认情况下,双击会出现“paste”等提示复制粘贴的快捷菜单,方便用户快速编辑文本,但很多情况下,我们并不希望用户能够粘贴文本【虽然这样不友好,...

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:

下一篇: