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 回复

好像选择原图就可以动

更多关于uni-app ios端选择gif图显示为静态图不会动的实战教程也可以访问 https://www.itying.com/category-93-b0.html


目前相册预览时 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动画信息。

解决方案:

  1. 使用tempFiles参数获取原始文件数据:
uni.chooseImage({
  count: 1,
  sourceType: ["album"],
  success: async (res) => {
    const tempFile = res.tempFiles[0];
    // tempFile.path 可能被系统处理为静态图
    // 需要特殊处理GIF文件
  }
});
  1. 通过文件类型判断并处理:
if (tempFile.type && tempFile.type.includes('gif')) {
  // 对GIF文件进行特殊处理
  // 可能需要将文件上传到服务器或使用base64格式显示
}
  1. 使用image组件显示时,确保使用正确的路径:
<image :src="gifUrl" mode="aspectFit"></image>
回到顶部