В течение некоторого времени голос за кадром на IOS при маршрутизации на другой экран - PullRequest
0 голосов
/ 03 июля 2019

Я использую реагировать родной 55 и реагировать навигации 2.x. Я пытаюсь озвучить на IOS и talkback на Android. Приложение Android работает нормально, но приложение IOS имеет некоторую задержку при открытии другой страницы. Выбранное поле VoiceOver первой страницы будет некоторое время находиться на второй странице в IOS. Это исчезнет через некоторое время. Это должно идти, как только 2-й экран загружен. Для маршрутизации я использую реагирующую навигацию.

Page1:

import React, { Component } from 'react';
import { Platform, StyleSheet, Text, View, Button } from 'react-native';

const instructions = Platform.select({
    ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
    android:
        'Double tap R on your keyboard to reload,\n' +
        'Shake or press menu button for dev menu',
});

export default class App extends Component {
    render() {
        return (
            <View style={styles.container}>
                <Text style={styles.welcome}>Welcome to React Native!</Text>
                <Text style={styles.instructions}>To get started, edit App.js</Text>
                <Text style={styles.instructions}>{instructions}</Text>
                <Button
                    onPress={() => { this.props.navigation.navigate('InnerPage1'); }}
                    title="Learn More"
                    color="#841584"
                    accessibilityLabel="Learn more about this purple button"
                />
            </View>
        );
    }
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
    },
    welcome: {
        fontSize: 20,
        textAlign: 'center',
        margin: 10,
    },
    instructions: {
        textAlign: 'center',
        color: '#333333',
        marginBottom: 5,
    },
});

Page2:

import React, { Component } from 'react'
import { Text, View } from 'react-native'

export default class FirstPage extends Component {
    render() {
        return (
            <View>
                <Text> textInComponent </Text>
            </View>
        );
    }
}

Код навигатора:

export const StackNavigation = createStackNavigator({
    Home: {
        screen: App,
        navigationOptions: {
            title: 'Page1'
        }
    },
    InnerPage1: {
        screen: FirstPage,
        navigationOptions: {
            title: 'Page2'
        }
    }
});

const Container =  createAppContainer(StackNavigation);

export default Container;

Вот скриншоты приложения:

Первый экран:

enter image description here

Второй экран:

enter image description here

Как вы можете видеть на вышеприведенных экранах, выбор первого экрана происходит во втором экране и происходит в течение 2 или 3 секунд. Если есть какое-либо новое решение или обходной путь, пожалуйста, дайте мне знать.

Заранее спасибо.

...