我正试图弄清楚如何在https://docs.expo.io/versions/latest/sdk/take-snapshot-async.html
中定义视图参数功能:
screenShot = async () => {
let result = await takeSnapshotAsync(this.pageView, {format: 'jpg', result: 'file', quality: 1.0});
const file = {
uri: result,
name: this.state.shiftIDclean+"-clockIn.jpg",
type: "image/jpeg"
}
}
查看:
render() {
return (
<View ref={view => { this.pageView = view; }}>
<Text>TEST CONTENT GOES HERE</Tex>
</View>
);
}
这在iOS模拟器上运行正常,但在Andriod上,我收到红屏错误:尝试使用不存在的标记488解析视图。
我试图找到一个有效的例子,但不能。我认为问题是我没有定义哪个视图我正确地进行了屏幕截图,但我似乎无法弄明白。
答案 0 :(得分:4)
我不知道为什么,但将视图更改为有效:
<View
collapsable={false}
ref={view => {
this.pageView = view;
}}>
答案 1 :(得分:0)
<View
collapsable={false}
ref={view => {
this.pageView = view;
}}>
由于collapsable={false}
,它工作正常。
将collapsable
属性设置为false
以禁用此优化,并确保此View存在于本机视图层次结构中。