Как я могу избежать моей цифровой клавиатуры / клавиатуры для моих 30 вводов текстового поля? - PullRequest
0 голосов
/ 07 января 2020

Я только что реализовал около 30 вводов текстового поля, и после запуска моего приложения я понял, что я все равно не могу избежать цифровой клавиатуры ?? Кто-нибудь придумал простое решение по выходу / снятию цифровой клавиатуры / клавиатуры ?? Я нашел решение добавить панель инструментов к клавиатуре, но это потребовало бы, чтобы я сделал это 30 раз, что мне не очень эффективно.

1 Ответ

1 голос
/ 07 января 2020

Используйте это

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...