Посмотреть отзывчивость на клавиатуре Показать и скрыть Ios Swift 4 - PullRequest
0 голосов
/ 23 января 2019

Это мой взгляд.

enter image description here

Когда я щелкаю внутри текстового представления, клавиатура поднималась сверху. поэтому я добавил сделал класс и в этом классе я добавил эти функции.

    var objectObserver:UIViewController?

    func setKeyboardResponsiviness(observer:UIViewController){
            objectObserver = observer
            NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil)

                NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide), name: UIResponder.keyboardWillHideNotification, object: nil)
        }

        @objc func keyboardWillShow(notification: NSNotification) {
            if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
                if objectObserver!.view.frame.origin.y == 0 {
                    objectObserver!.view.frame.origin.y -= keyboardSize.height
                }
            }
        }

        @objc func keyboardWillHide(notification: NSNotification) {
            if objectObserver!.view.frame.origin.y != 0 {
                objectObserver!.view.frame.origin.y = 0
            }
        } 

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

1 Ответ

0 голосов
/ 05 февраля 2019

Простым решением является использование IQKeyboardManagerSwift.

pod 'IQKeyboardManagerSwift' // add this in your pod file.

Добавьте следующий код в didFinishLaunchingWithOptions.

IQKeyboardManager.shared.enable = true

Надеюсь, это поможет.

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