как обращаться с клавиатурой прокрутки таблицы - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть табличное представление с ячейками с textFields и кнопкой в ​​конце, вне табличного представления, привязанной к нижнему якору. Мой код кажется хорошим для больших телефонов, но на iPhone 8 он терпит неудачу, с кнопкой, находящейся справа в верхней части вспомогательного вида клавиатуры (если имеется). Я думаю, это проблема класса c, но я не могу использовать другие решения для моего случая.

в моем viewDidLoad:

bindKeyboardNotifications(using: bottomContraintButtonSuperView, view: myTable)

override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        //dismiss keyboard observer
        NotificationCenter.default.removeObserver(self)
    }

в расширении контроллера

 ///handles the scroll of the keyboard based on a given constraint outlet
    func bindKeyboardNotifications(using constraint: NSLayoutConstraint, view: UITableView? = nil) {
        NotificationCenter.default.addObserver(forName: UIApplication.keyboardWillShowNotification, object: nil, queue: nil) { notification in
            let keyboardHeight: CGFloat = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue.height ?? 0
//            constraint.constant  = -20 + keyboardHeight
            constraint.constant = keyboardHeight
        }
        NotificationCenter.default.addObserver(forName: UIApplication.keyboardWillHideNotification, object: nil, queue: nil) { _ in
            constraint.constant = 20.0
        }
    }

1 Ответ

0 голосов
/ 23 апреля 2020

Эта библиотека полезна, чтобы избавиться от этой проблемы

https://github.com/michaeltyson/TPKeyboardAvoiding

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...