react-native-signature-capture 签名板 使用中填的坑

1. 不支持Typescript,要自己在node_module目录中添加index.d.ts声明文件,先将所有属性都默认any

declare module "react-native-signature-capture";

2. onSaveEvent的result中返回的pathName放在组件的source的uri中无法显示图片,要自己加上"file://"前缀

console log
react-native-signature-capture 签名板 使用中填的坑_第1张图片
onSaveEvent

3. Android要设置saveImageFileInExtStorage为true将图片保存在外部存储中,后期才能通过pathName预览图片

react-native-signature-capture 签名板 使用中填的坑_第2张图片
使用示例

4. Android保存图片每次保存的文件名都一样,所以文件夹下面只会有最新的一张图,对于项目需求要保存多张图在本地的话需要自己改node_module中的插件源码,将写死的文件名加上时间戳

import java.util.Date;

String fname = "signature_" + new Date().getTime() + ".png";

react-native-signature-capture 签名板 使用中填的坑_第3张图片
Android端保存图片的代码

    iOS保存图片有同样的问题,在issue中找到了修改方法

react-native-signature-capture 签名板 使用中填的坑_第4张图片
修改iOS保存图片

5. Android上调用saveImage()和resetImage()时弹出warning,大概是说不再支持通过UIManager['RSSignatureView']直接从UIManager访问视图管理器配置。使用UIManager.getViewManagerConfig(“RSSignatureView”)替代,去node_module中修改如下

warning
react-native-signature-capture 签名板 使用中填的坑_第5张图片
SignatureCapture.js

iOS端还没适配,填坑待续~

你可能感兴趣的:(react-native-signature-capture 签名板 使用中填的坑)