навигация wix v2-v3 неправильно скрывает нижнюю вкладку

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

Вот как я использую Navigation.mergeOptions:

toggleFilter() {
        var shouldOpen = !this.state.filterOpened;

        Navigation.mergeOptions(this.props.componentId, {
            bottomTabs: {
                visible: shouldOpen ? false : true,
                drawBehind: shouldOpen ? true : false,
                animate: shouldOpen ? true : false
            }
        });

        this.setState({
            filterOpened: shouldOpen
        });
    }

Вот как это выглядит внизу: введите здесь описание изображения

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: я только что проверил, не открывая модальное окно, пытаясь скрыть его на том же экране, и это происходит так же, так что это не проблема моего модального окна. Думал, что это также будет связано с ScrollView/FlatList, но это не так, протестировал его на простом представлении с Flex, и это тоже происходит. Это должно быть легко воспроизвести.

Любая идея об этой проблеме? Спасибо!

Некоторая информация об окружающей среде:

React Native Navigation version: ^3.0.0-alpha.0
React Native version: ^0.60.0
Platform(s): iOS (Haven't tested on Android yet)
Device info (Simulator/Device? OS version? Debug/Release?): Real iPhone XS latest iOS version.

person msqar    schedule 20.07.2019    source источник


Ответы (1)


Это ошибка в RNN. Скрытие BottomTabs с анимацией не поддерживается в iOS и было добавлено в качестве PR в RNN. Этот PR, вероятно, не принял во внимание этот вариант использования.

Ваш лучший вариант на данный момент - нарисовать экран за BottomTabs, установив drawBehind: true в статических параметрах, и самостоятельно обрабатывать нижнее дополнение.

person guy.gc    schedule 22.07.2019
comment
Спасибо за ответ, проверю и отпишусь :) - person msqar; 23.07.2019
comment
я не могу понять, как это работает. Вы имеете в виду, что я должен добавить paddingBottom в контейнер View? или где? - person msqar; 23.07.2019
comment
Да. добавьте paddingBottom в корневой вид в jsx и добавьте bottomTabs { drawBehind: true } в статические параметры вашего экрана. - person guy.gc; 23.07.2019