我同意Leonardo Savio Dabus,如果我是你,我将使用字符串检查并发出警告,这会让事情变得更容易.但是,如果禁用粘贴选项是一个非常想要放入应用程序的花哨功能,那么您需要做更多的工作.我将提供以下步骤.
原文链接:https://www.f2er.com/swift/319558.html第1步:您需要创建另一个扩展UITextField的类.在这个例子中,我制作了CustomUITextField.
import Foundation import UIKit // don't forget this class 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?