Моя цель — сделать мое приложение полноэкранным, и для этого я использую две функции:
StatusBar.overlaysWebView(true);
StatusBar.hide();
Это работает для ОС Android, но на iPhone у меня поле тела равно высоте строки состояния. Я не понимаю, почему, это выглядит так:
(Оранжевый цвет — это поле, равное высоте строки состояния, а фиолетовый — это содержимое тела)
Я знаю, что можно сделать полноэкранный режим, потому что у меня есть другое приложение Ionic с Cordova, и когда я скрываю строку состояния, мое приложение запускается в верхней части телефона.
В моем css у меня поля и отступы равны 0. Я знаю, что наложение хорошо учитывается, потому что мое тело со 100vh опережает высоту экрана, просто мое тело не запускается в верхней части экрана.
Да пробовал, не работает :/
Вставка безопасной области CSS может создать это, если они используются. Они (неправильно) игнорируются в Android Chrome (и, насколько мне известно, они все еще есть в текущей версии), но iOS правильно использует их для заполнения контейнера на основе строки состояния, выемок камеры или других физических вещей, которые могут быть влияющие на экранную недвижимость. См. developer.mozilla.org/en-US/docs/Web/CSS/env для получения дополнительной информации о вставках безопасных областей.
Очень сложно дать однозначный ответ, доступной информации недостаточно, еще одна вещь, которую вы можете упустить, — это <meta name = "viewport" content = "viewport-fit=cover" />, которая говорит iOS использовать весь экран.
@NormanBreau, спасибо !! это работает, я только что оптимизировал с помощью <meta name = "viewport" content = "viewport-fit=cover, width=device-width, user-scalable=no" />





Для решения используйте
<meta name = "viewport" content = "viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
использовали ли вы эту настройку для ios <platform name = "ios"> <preference name = "Fullscreen" value = "true" /> </platform>