Клавиатура и сдвинутые модалы в iPad - PullRequest
1 голос
/ 15 января 2020

У меня проблемы с iPad, клавиатурой и модалами в formSheet (или pageSheet, начиная с iOS 13).

Я разрабатываю чат, и у меня есть панель ввода, которую я хочу чтобы перемещаться над клавиатурой, когда она появляется, например WhatsApp и т.п. *

    func keyboardDidShow(withFrame keyboardFrame: CGRect, notification: Notification) {
        let viewFrame: CGRect
        if #available(iOS 11.0, *) {
            viewFrame = view.safeAreaLayoutGuide.layoutFrame
        } else {
            viewFrame = view.frame
        }

        let convertedKeyboardFrame = view.convert(keyboardFrame, from: nil)
        let intersection = viewFrame.intersection(convertedKeyboardFrame)

        updateBottomConstraint( // The bottom constraint of the input bar
            constant: -intersection.height,
            animationDuration: notification.keyboardAnimationDuration
        )
    }

Он работает для всех размеров экрана, версии и устройства, но для iPad с презентациями formSheet или pageSheet между нижней частью моей панели ввода и верхней частью клавиатуры есть свободное место.

bug

В этой ситуации контроллер моего представления немного смещается вверх, чтобы освободить место для клавиатуры, разрушая мой код.

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

Есть идеи?

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