如何快速禁用 SkyFloatingLabelTextField 中的复制粘贴功能?

Posted

技术标签:

【中文标题】如何快速禁用 SkyFloatingLabelTextField 中的复制粘贴功能?【英文标题】:How to disable the copy paste functionality in SkyFloatingLabelTextField in swift? 【发布时间】:2021-10-07 06:42:02 【问题描述】:

我正在为 UITextfield 使用 SkyFloatingLabelTextField 类,如何禁用此文本文件上的复制和粘贴功能。

【问题讨论】:

您可以通过覆盖“canPerformAction”方法来做到这一点。检查这个答案。 ***.com/questions/29596043/… 【参考方案1】:

创建一个继承自 SkyFloatingLabelTextField 类的自定义类,然后赋值。

class FloatingTextField: SkyFloatingLabelTextField 
    open override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool 
        if action == #selector(UIResponderStandardEditActions.paste(_:)) ||
            action == #selector(UIResponderStandardEditActions.copy(_:)) 
            return false
        
        return super.canPerformAction(action, withSender: sender)
    

如果您想为整个项目和所有文本字段添加此扩展。

extension SkyFloatingLabelTextField 
    open override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool 
        if action == #selector(UIResponderStandardEditActions.paste(_:)) ||
            action == #selector(UIResponderStandardEditActions.copy(_:)) 
            return false
        
        return super.canPerformAction(action, withSender: sender)
    

【讨论】:

这也适用于 UItextView@Raja Kishan @ManishKumar 是的【参考方案2】:

将此技术用于自定义文本字段

   class SkyFloatingLabelTextField: UITextField 
        open override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool 
            if action == #selector(UIResponderStandardEditActions.paste(_:)) 
                return false
            
            return super.canPerformAction(action, withSender: sender)
        
    

【讨论】:

已经为 UITextField @Jayesh Patel 分配了一个 SkyfloatingLabelTextField 类 然后将其添加到您的 SkyFloatingLabelTextField 类中。我已经更新了答案

以上是关于如何快速禁用 SkyFloatingLabelTextField 中的复制粘贴功能?的主要内容,如果未能解决你的问题,请参考以下文章

iPad Safari:点击链接时如何禁用快速闪烁效果

Windows BATCH:如何禁用单个脚本的快速编辑模式?

如何在 Xamarin 的新“Android 设备管理器”中禁用快速启动?

MySQL如何快速禁用账户登入 & 如何复制/复用账户密码

MySQL如何快速禁用账户登入 & 如何复制/复用账户密码

如何以编程方式禁用 C# 控制台应用程序的快速编辑模式?