Ширина разделенного экрана iOS после отображения клавиатуры - PullRequest
2 голосов
/ 08 июня 2019

Я только начал изучать поддержку многозадачности с разделенным экраном в моем приложении Cordova.До сих пор приложение отображало и корректно изменяло размеры на iPad в симуляторе, но когда я нажимаю на поле редактирования и отображается программная клавиатура, значение для 100% ширины начинает возвращать весь экран, а не окно, которое было дано.

Initial display (app on right)

Начальное отображение - пока что, хорошо ...

Keyboard displayed, width is now wrong

Нет.Приложение теперь отображается за пределами своего окна.

Страница HTML:

<html>
  ...
  <body>
    <div class="page">
    ...
    </div>
  </body>
</html>

CSS:

.page {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

РЕДАКТИРОВАТЬ: Viewport Meta

<meta name="viewport" content="initial-scale=1, user-scalable=no, minimum-scale=1, maximum-scale=1, viewport-fit=cover">

Перед отображением клавиатуры у меня есть вычисленная ширина 551px для div класса page.После отображения клавиатуры у меня есть вычисленная ширина 1112 пикселей.Любая идея, почему отображение клавиатуры приведет к тому, что ширина возвращает неправильное значение - или что я могу сделать, чтобы получить правильную ширину приложения?Следует также отметить, что я использую cordova-plugin-keyboard для некоторых функций клавиатуры.

1 Ответ

1 голос
/ 11 июня 2019

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

Мне удалось воспроизвести подобное поведение, и я извлек патч , который, кажется, решил его.(Спасибо Jin Lei ) Я бы хотел провести еще несколько тестов перед выпуском релиза, но вы можете установить обновленный плагин прямо из GitHub или вручную применить исправление локально.

cordova plugin add https://github.com/cjpearson/cordova-plugin-keyboard

...