uni-app ios端选择gif图显示为静态图不会动
uni-app ios端选择gif图显示为静态图不会动
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | 10,15,7 | HBuilderX |
# 示例代码:
```jsx
uni.chooseImage({
count: 1,
sourceType:["album"],
success: async ({
tempFilePaths: [url],
tempFiles: [imgInfo]
}) => {
}
})
操作步骤:
uni.chooseImage({
count: 1,
sourceType:["album"],
success: async ({
tempFilePaths: [url],
tempFiles: [imgInfo]
}) => {
}
})
预期结果:
预期是gif会动
实际结果:
实际的gif不会动是个静止图
bug描述:
使用 uni.chooseImage 选择gif图 图片不会动
更多关于uni-app ios端选择gif图显示为静态图不会动的实战教程也可以访问 https://www.itying.com/category-93-b0.html
10 回复
目前相册预览时 Gif 确实不动的 以后版本会支持
你理解错了,是上传到服务器后,gif也是静态的,h5支持的,APP就不行
ios 在nuve里面 滚动之后 再滚回来 gif图片不会动了 请问一下怎么解决。
回复 6***@qq.com: 确认一下你的Gif的图片的loopcount 是多少 现在会按照他的 loopcount显示 你可以提供一个稳定复现的demo
回复 天生DR: 有文档吗?
回复 6***@qq.com: 两个方面可能存在问题 1. iOS的runloop 滚动滑动时 可能会造成这个问题 2. Gif图片 本身可能就一次循环 就会停止 所以你提供一个可以稳定复现的demo 我们这边方便查询
解决了吗,上传到服务器后,gif也是静态的
更新到最新HBuilder 已经解决这个问题了
在uni-app中,iOS端选择GIF图片显示为静态图是已知的兼容性问题。这是由于iOS系统相册返回的图片路径经过系统处理,丢失了GIF动画信息。
解决方案:
- 使用
tempFiles参数获取原始文件数据:
uni.chooseImage({
count: 1,
sourceType: ["album"],
success: async (res) => {
const tempFile = res.tempFiles[0];
// tempFile.path 可能被系统处理为静态图
// 需要特殊处理GIF文件
}
});
- 通过文件类型判断并处理:
if (tempFile.type && tempFile.type.includes('gif')) {
// 对GIF文件进行特殊处理
// 可能需要将文件上传到服务器或使用base64格式显示
}
- 使用image组件显示时,确保使用正确的路径:
<image :src="gifUrl" mode="aspectFit"></image>

