防止粘贴到 swift 中的文本字段 5

Preventing pasting into a textField in swift 5

我的代码中有这个扩展来限制我得到的文本字段的长度。

我正在尝试禁止粘贴——因为我使用编号输入 3 位数的值。

我似乎无法将这些代码片段放在正确的位置。

如果我把它放在代码块底部的扩展 Viewcontroller:UITextFieldDelegate 中,它会起作用吗?

我处于学习过程的早期阶段,有时放东西的地方不太顺利。提前致谢。

此代码将使文本字段仅接受数字。

 func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    let invalidCharacters = CharacterSet(charactersIn: "0123456789").inverted
    return string.rangeOfCharacter(from: invalidCharacters) == nil
}

并且此代码将防止粘贴。这仅启用剪切和复制功能。

class PastelessTextField: UITextField {
    override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
        return super.canPerformAction(action, withSender: sender)
            && (action == #selector(UIResponderStandardEditActions.cut)
            || action == #selector(UIResponderStandardEditActions.copy))
    }
}