1. 不支持Typescript,要自己在node_module目录中添加index.d.ts声明文件,先将所有属性都默认any
declare module "react-native-signature-capture";
2. onSaveEvent的result中返回的pathName放在<Image />组件的source的uri中无法显示图片,要自己加上"file://"前缀
console log
onSaveEvent
3. Android要设置saveImageFileInExtStorage为true将图片保存在外部存储中,后期才能通过pathName预览图片
使用示例
4. Android保存图片每次保存的文件名都一样,所以文件夹下面只会有最新的一张图,对于项目需求要保存多张图在本地的话需要自己改node_module中的插件源码,将写死的文件名加上时间戳
import java.util.Date;
String fname = "signature_" + new Date().getTime() + ".png";
Android端保存图片的代码
iOS保存图片有同样的问题,在issue中找到了修改方法
修改iOS保存图片
5. Android上调用saveImage()和resetImage()时弹出warning,大概是说不再支持通过UIManager['RSSignatureView']直接从UIManager访问视图管理器配置。使用UIManager.getViewManagerConfig(“RSSignatureView”)替代,去node_module中修改如下
warning
SignatureCapture.js
iOS端还没适配,填坑待续~