该代码在Android上正常运行。但是在IOS上,需要两下水龙头才能拍照。最奇怪的是,我还添加了一个微调器,以查看水龙头是否被注册。是的它开始旋转,但随后不会拍照。此代码可在Android上完美运行。 TouchableOpacity,TouchableWithoutFeedback都可以在整个应用程序中正常运行。所以我想这与IOS上的takePictureAsync()函数有关。这是我的下面的代码
相机组件
<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>
TakePictureFunction
takePicture = async () => {
console.log("Pressed " + this.camera)
if (this.camera) {
console.log("Camera")
let photo = await this.camera.takePictureAsync();
this.setState({ imageUri: photo.uri })
}
}
我已经尝试过在iOS中使用所有可触摸对象仍然无法正常工作。有任何想法吗。谢谢