React Native — проблема с прозрачным модальным изменением высоты заголовка и нижней панели навигации на устройствах iOS IOS

Программируем под IOS
Ответить
Anonymous
 React Native — проблема с прозрачным модальным изменением высоты заголовка и нижней панели навигации на устройствах iOS

Сообщение Anonymous »

Вот урезанное нативное приложение, демонстрирующее проблему: https://github.com/divelogs/modal-test
При запуске на устройстве iOS с вырезом или динамическим остров, закрытие модального окна (представление: «transparentModal») изменит высоту заголовка и нижней панели навигации в альбомном режиме. Это сохраняется до тех пор, пока вы принудительно не закроете приложение. Если на устройстве нет выреза, оно работает как положено. Симулятор показывает это, а также физические устройства.
Перед открытием и закрытием модального окна:
[img]https://i. stack.imgur.com/1motL.jpg[/img]

После открытия и закрытия модального окна:
[img]https:/ /i.stack.imgur.com/XMggu.jpg[/img]

Поскольку я новичок в реагировании на нативный код, я понятия не имею, с чего начать, но думаю, это ошибка где-то в собственных модулях реакции?
Код App.tsx:
import React from 'react';
import { Text, View, TouchableOpacity } from 'react-native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import { NavigationContainer } from '@react-navigation/native';

const BottomNavigation = ()=> {

const Tab = createBottomTabNavigator();

return (

Header Text,
headerTitleAlign: 'center'
}}>

{(props) => { return }}




);
}

const DivesNavigation = ({navigation}:any) => {
const Stack = createNativeStackNavigator();

const focusDiveProfile = () => {
navigation.navigate("MyModalWindow");
}

return (

My header,
headerTitleAlign: 'center'
}}
>


{(props) => {return
focusDiveProfile()}>
This is to demonstrate a problem with transparentModal on iOS devices
with a notch or dynamic island.
Click to open modal in LANDSCAPE mode and then close it.


}}






);
};

const Modalcontent = ({navigation}:any) => {

const closeModal = () => {
navigation.pop()
}

return (

This modal needs to be full screen, as it will contain a lot of (interactive) content and I do not want
the title or bottom bar to show. Click on close in the next line, and the header and footer will be higher than before,
taking up much more space until you force close the app:


Close Modal


);
};

export default BottomNavigation


Подробнее здесь: https://stackoverflow.com/questions/781 ... -and-botto
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»