[英]react native iOS can't open Camera/Gallery after first time
这是我的源代码:
export default class App extends Component<Props> {
constructor(props) {
super(props);
this.state = {
isVisible: false,
};
}
openModal = () => {
this.setState({isVisible: true});
}
openPicker = () => {
this.setState({isVisible: false});
ImagePicker.openPicker({
mediaType: "video",
}).then((video) => {
console.log(video);
});
}
render() {
return (
<View style={styles.container}>
<TouchableOpacity onPress={this.openModal}>
<Text>Choose Image</Text>
</TouchableOpacity>
{
this.state.isVisible &&
<Modal style={styles.modal}>
<View style={styles.conModal}>
<TouchableOpacity style={styles.touch} onPress={this.openPicker}>
<Text style={styles.text}>Open Gallery</Text>
</TouchableOpacity>
</View>
</Modal>
}
</View>
);
}
}
当用户点击“选择图像”按钮时,应用程序将显示“选择图像”模式,允许用户选择“打开图片库”按钮或其他按钮,例如“打开相机”,...
用户选择“打开图库”按钮后,应用程序将在打开图库之前通过this.setState({isVisible: false})
关闭“选择图像”模式。
它可以在Android上完美运行。 但它只能在iOS上运行一次。 下次,应用程序还会显示Gallery,但会立即关闭。
如果我将逻辑更改为:通过this.setState({isVisible: false})
关闭“ Choose Image”模式前先打开Gallery,它将起作用。 但是我的顾客不接受。
请帮我。
谢谢。
延迟一段时间后打开画廊。 我认为可能有效
openPicker = () => {
this.setState({isVisible: false});
// open gallery after some delay.
setTimeout(()=>{
ImagePicker.openPicker({
mediaType: "video",
}).then((video) => {
console.log(video);
});
},700) // you can change delay time as per your requirement
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.