React Native iOS - 使用 lottie 文件的启动画面

问题描述

在 React 原生应用程序中,我们尝试加载 Lottie 动画作为启动画面。

在 android 中,我可以通过为 android Lottie 库创建本机视图来实现它。 I want to play lottie animation in splash screen+ React native

我在 iOS 中也需要同样的东西,目前,我们有一个图像闪屏,我们已经实现了 images.xcassets 和 LanuchScreen.storyboard(参考屏幕截图)

images.scassets

LaunchScreen.storyboard

这里有没有可能使用 Lottie 动画代替这些图像?

有一种解决方法,我可以在开始使用应用内容之前在 app.js 中添加 Lottie 动画。在这种情况下,首先,上面提到的启动画面来了,动画。如果我在这里删除这个启动画面,那么就会出现白屏和动画。

然后如何在 ios 上使用 Lottie 动画代替闪屏图像。

解决方法

在 iOS 中,初始屏幕是一个视图 without any associated logic

为了给动画留下印象,您可以做的是让它看起来像 Lottie 文件的第一帧。

然后,在 didFinishLaunchingWithOptions 中,您可以开始您的 Lottie 动画。

在 RN 应用程序中,启动画面应该是快速闪烁的,并且大部分启动时间将被 RN 设置占用。因此,即使使用这种方法,动画也应该相对流畅。

您可以查看 this repo 以了解他们是如何实施的。

,

一开始我搜索了很多关于用lottie动画改变ios的LaunchScreen.storyboard的文章。但是,Xcode 强制 LaunchScreen.storyboard 应该是静态屏幕。所以,我在静态启动屏幕加载后插入了动画代码。也许,启动屏幕是必不可少的,因为它是 ios 中初始加载资源的加载屏幕。如果您删除启动屏幕,则 ios 应用程序在首次加载时会显示黑屏或白屏。删除启动屏幕,Xcode 7

如果您在 React Native 中使用 lottie 寻找动画启动屏幕,我建议您查看此包。

https://www.npmjs.com/package/react-native-lottie-splash-screen

它使用airbnb lottie文件实现动画闪屏。此外,我将此应用于多个反应本机项目,并且效果很好。祝你有美好的一天!