Экспо камера двойное нажатие, чтобы сделать снимок на IOS - PullRequest
0 голосов
/ 14 ноября 2018

Код отлично работает на Android. Но на IOS требуется два нажатия, чтобы сделать снимок. Самым странным было то, что я также добавил счетчик, чтобы посмотреть, зарегистрировался ли кран. Оно делает. Это начинает вращаться, но затем не делает снимок. Этот код работает безупречно на Android. TouchableOpacity, TouchableWithoutFeedback все отлично работает в других местах приложения. Так что я предполагаю, что это что-то с функцией takePictureAsync () на IOS. Это мой код ниже

Компонент камеры

 <View style={{borderRadius:20,overflow:'hidden',height:'75%',width:'90%',elevation:10,marginTop:40}}>
                    <Camera ref={ref => { this.camera = ref }} style={{ height: '100%', width: '100%' }} type={this.state.type}>
                    </Camera>
                    </View>
                       <View style={{paddingTop:20}}>             

                            <TouchableWithoutFeedback
                                style={{ alignSelf: 'center' }}
                                onPress={this.takePicture}>

                                    <Image source={require('../../assets/camera.png')}
                                        style={{ height: 60, width: 60 }} />

                            </TouchableWithoutFeedback>

                    </View>

Функция TakePicture

takePicture = async () => {
    console.log("Pressed " + this.camera)
    if (this.camera) {
        console.log("Camera")

        let photo = await this.camera.takePictureAsync();
        this.setState({ imageUri: photo.uri })
    }
}

Я пытался использовать все touchable, но в ios все еще не работает. Есть идеи. Спасибо

...