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

发布时间 - 2026-01-11 03:15:28    点击率:

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

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


# iOS开  # TextField  # 粘贴  # 选择  # 全选  # iOS中管理剪切板的UIPasteboard粘贴板类用法详解  # html5+CSS 实现禁止IOS长按复制粘贴功能  # IOS开发UIPasteboard类的粘贴板全面详解  # 情况下  # 我们可以  # 这样做  # 自定义  # 重写  # 双击  # 众所周知  # 大家多多  # 不友好  # amp  # strong  # selector  # canPerformAction  # brush  # cpp  # pre  # class  # super  # selectAll 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 音响网站制作视频教程,隆霸音响官方网站?  HTML 中动态设置元素 name 属性的正确语法详解  Laravel distinct去重查询_Laravel Eloquent去重方法  香港服务器如何优化才能显著提升网站加载速度?  Java解压缩zip - 解压缩多个文件或文件夹实例  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  Laravel如何发送系统通知?(Notification渠道示例)  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  如何快速重置建站主机并恢复默认配置?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  南京网站制作费用,南京远驱官方网站?  Python自动化办公教程_ExcelWordPDF批量处理案例  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何快速登录WAP自助建站平台?  详解jQuery中的事件  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  浅谈redis在项目中的应用  如何在建站宝盒中设置产品搜索功能?  如何在新浪SAE免费搭建个人博客?  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  怎样使用JSON进行数据交换_它有什么限制  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  深圳网站制作的公司有哪些,dido官方网站?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel如何使用Service Container和依赖注入?(代码示例)  Laravel怎么使用Intervention Image库处理图片上传和缩放  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  香港服务器网站卡顿?如何解决网络延迟与负载问题?  java中使用zxing批量生成二维码立牌  如何选择可靠的免备案建站服务器?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  如何在搬瓦工VPS快速搭建网站?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Mybatis 中的insertOrUpdate操作  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  如何在宝塔面板中创建新站点?  韩国服务器如何优化跨境访问实现高效连接?  如何快速生成专业多端适配建站电话?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  如何获取上海专业网站定制建站电话?  如何正确下载安装西数主机建站助手?  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  Android使用GridView实现日历的简单功能