如何在Swift的TextField中禁用Pasting?

如何在Swift的TextField中禁用Pasting?,第1张

概述我有一个带数字键盘的TextField,只有包含数字时才运行该功能. 用户崩溃应用程序的唯一选择是他是否会在TextField中粘贴字母并单击“确定”. 如何在TextField中禁用粘贴? 我同意Leonardo Savio Dabus,如果我是你,我将使用字符串检查并发出警告,这会让事情变得更容易.但是,如果禁用粘贴选项是一个非常想要放入应用程序的花哨功能,那么您需要做更多的工作.我将提供以下 我有一个带数字键盘的TextFIEld,只有包含数字时才运行该功能.

用户崩溃应用程序的唯一选择是他是否会在TextFIEld中粘贴字母并单击“确定”.

如何在TextFIEld中禁用粘贴?

@H_404_8@ 我同意Leonardo Savio Dabus,如果我是你,我将使用字符串检查并发出警告,这会让事情变得更容易.但是,如果禁用粘贴选项是一个非常想要放入应用程序的花哨功能,那么您需要做更多的工作.我将提供以下步骤.

第1步:您需要创建另一个扩展UITextFIEld的类.在这个例子中,我制作了CustomUITextFIEld.

import Foundationimport UIKit  // don't forget thisclass CustomUITextFIEld: UITextFIEld {    overrIDe func canPerformAction(action: Selector,withSender sender: AnyObject?) -> Bool {        if action == "paste:" {            return false        }                return super.canPerformAction(action,withSender: sender)    }}

第2步:使用VIEwController连接故事板.您需要像通常情况一样声明IBOutlet:

@IBOutlet var textFIEldA: CustomUITextFIEld?

将@IBOutlet旁边的圆圈连接到故事板中的textFIEld.那么,这很重要且容易被忽略:

>转到您的故事板
>单击目标TextFIEld
>选择IDentity Inspector(第3个)
>将类更改为CustomUITextFIEld

下面提供了快照.

就是这样,希望这有效.

信用:

主要参考https://teamtreehouse.com/forum/disable-paste-in-uitextfielduitextview-swift

如果你想了解更多关于canPerformAction方法的行为,虽然是Objective-C版本,但是这些概念是共享的:How can I detect that a user has tapped a formatting button in a UIMenuController?

总结

以上是内存溢出为你收集整理的如何在Swift的TextField中禁用Pasting?全部内容,希望文章能够帮你解决如何在Swift的TextField中禁用Pasting?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1037227.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存