路由到其他屏幕时,IOS上的语音选择会持续一段时间

时间:2019-07-03 04:10:36

标签: ios react-native react-navigation voiceover

我正在使用react native 55和react navigation2.x。 我正在尝试在iOS上进行语音通话,并在android上进行对讲。 Android应用程序运行正常,但是在打开另一个页面时,IOS应用程序会有一些延迟。第一页的选定VoiceOver框将在IOS的第二页中保留一段时间。它会在一段时间后消失。加载第二个屏幕后,它应该立即运行。 对于路由,我使用了反应导航。

第1页:

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,
    },
});

第2页:

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秒钟。如果有任何新的解决方案或解决方法,请告诉我。

谢谢。

0 个答案:

没有答案