Swift 如何为30个文本字段输入转义numpad/键盘?

Swift 如何为30个文本字段输入转义numpad/键盘?,swift,xcode,Swift,Xcode,我刚刚实现了大约30个textfield输入,在运行我的应用程序后,我意识到我无论如何都无法逃脱numpad??有没有人想出了一个简单的方法来逃脱/移除麻木板/键盘??我找到了在键盘上添加工具栏的解决方案,但这需要我做30次,这对我来说效率不高。使用这个 extension UITextField { @IBInspectable var doneAccessory: Bool { get { return self.doneAccessory } s

我刚刚实现了大约30个textfield输入,在运行我的应用程序后,我意识到我无论如何都无法逃脱numpad??有没有人想出了一个简单的方法来逃脱/移除麻木板/键盘??我找到了在键盘上添加工具栏的解决方案,但这需要我做30次,这对我来说效率不高。

使用这个

extension UITextField {

@IBInspectable var doneAccessory: Bool {

    get {
        return self.doneAccessory
    }
    set (hasDone) {
        if hasDone {
            addDoneButtonOnKeyboard()
        }
    }
}

func addDoneButtonOnKeyboard() {

    let doneToolbar: UIToolbar = UIToolbar(frame: CGRect.init(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 50))
    doneToolbar.barStyle = .default
    let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
    let done: UIBarButtonItem = UIBarButtonItem(title: "Done", style: .done, target: self, action: #selector(self.doneButtonAction))
    let items = [flexSpace, done]
    doneToolbar.items = items
    doneToolbar.sizeToFit()
    self.inputAccessoryView = doneToolbar
}

@objc func doneButtonAction() {
    self.resignFirstResponder()
}


}
并将这一行添加到文本字段中

textField.doneAccessory = true

您可以在主界面中放置一个“完成”按钮。或者使用滚动视图,尽管这不太容易被发现。逃避意味着什么?你的意思是隐藏/忽略它?另外,你不需要“做30次”,你可以创建一个类,将30多个文本字段更改为该类和viola,你已经为所有这些字段实现了。