JFHeroBrowser
JFHeroBrowser copied to clipboard
gif图片读取&保存支持
目前我展示本地的gif使用的方案是HeroBrowserLocalImageViewModule
配合SDWebImage
let image = UIImage.sd_image(with: origin)
let vm = HeroBrowserLocalImageViewModule(image: image)
缺点是在长按保存的时候,已经拿不到对应的origin data了
HeroBrowserDataImageViewModule
无法正确展示,且无法保存
HeroBrowserNetworkImageViewModule
可以正确展示,但无法保存
可能要在DownloadProvider
下载的时候把data也一并保存起来, 以支持保存?
你这个思路是对的,可以从NetworkImageProvider入手,再实现一个GifViewModule之类的。但是我感觉你说的保存功能iOS下保存gif到相册是只能变成单帧图的哦,我建议用HeroBrowserNetworkImageViewModule, 保存时候获取HeroBrowserNetworkImageViewModule下的 url重新下载raw data ,and then 做你想要实现的功能。
尝试使用了修改RawData定义的方式,但是是破坏性的。这个分支基于SPM的支持和增加了一个willdismiss的delegate功能分支。 https://github.com/hstdt/JFHeroBrowser/tree/rawdata
spm支持分支(JRBaseKit以Git Submodule方式导入) https://github.com/hstdt/JFHeroBrowser/tree/spm
willdismiss分支 https://github.com/hstdt/JFHeroBrowser/tree/feat-dismiss
这几个分支是基于已有的两个Pull Request编写的。
修改了RawData的定义之后,asyncLoadRawSource
就能够拿到origin data了,但是就不能兼容之前的接口了,NetworkImageProvider也要随着库更新。不确定是否是一个好的方案。
我有空整理一下,最近比较忙,你今天的pr 我还没看呢。