如何在反应原生 IOS 中运行一次 GIF?

Posted

技术标签:

【中文标题】如何在反应原生 IOS 中运行一次 GIF?【英文标题】:how to run GIF once in react native IOS? 【发布时间】:2018-07-17 11:18:51 【问题描述】:

我使用 react native 为 android 构建了一个项目,我在项目中使用了 gif 图像,并且在 android gif 中设置了一次 gif 循环运行一次,这是真的,但是在 ios 中是循环如何强制它运行一次?

【问题讨论】:

【参考方案1】:

如果您控制 GIF 创建,最简单的方法是将信息放入 GIF 元数据中,例如使用 gifsicle

gifsicle my_gif.gif --no-loopcount > my_gif-noloop.gif

如果不能,可以按照建议的here 编辑/node_modules/react-native/Libraries/Image/RCTGIFImageDecoder.m

CAKeyframeAnimation *animation = [CAKeyframeAnimation 
    animationWithKeyPath:@"contents"];
    ...
    animation.repeatCount = loopCount == 0 ? 0 : loopCount; // Avoid infinite loop
    animation.fillMode = @"forwards"; // avoid image to desapear after loop

【讨论】:

以上是关于如何在反应原生 IOS 中运行一次 GIF?的主要内容,如果未能解决你的问题,请参考以下文章

在 M1 Macbook 上反应原生运行 iOS 的构建错误

如何在反应原生 ios 应用程序中更新应用程序版本?

如何在反应原生文本输入中自动粘贴在 SMS 中收到的一次性代码

如何在请求 iOS 原生反应权限时更改弹出消息?

如何将文件从 iOS 反应原生应用程序保存到 Files 文件夹

在对 GoogleVisionBarcodes 的原生相机做出反应时检测到无法在 IOS 上运行