【问题标题】:Custom animation in Launch Screen启动屏幕中的自定义动画
【发布时间】:2015-12-30 11:53:04
【问题描述】:

我使用 Swift 在 Xcode 7 中创建了一个新项目。我注意到启动屏幕存储在故事板文件中。

所以我想是否可以通过将其提交给我的CustomLauchScreenViewController 来定制它。但是,当我在LaunchScreen.storyboard 中设置自定义类名时,会抛出错误:

启动屏幕可能无法设置自定义类名

那么自定义 LaunchScreen 的最佳方式是什么?我打算在启动主屏幕之前使用 LaunchScreen 加载一些数据。

【问题讨论】:

  • 王者游戏(Candy , Soda , Digger 等)使用图像进行飞溅(启动图像)。当您控制加载具有您的自定义工作(动画或辅助图像)的 VC 并最终加载您的应用程序时。

标签: ios xcode launch-screen


【解决方案1】:

这不是启动屏幕的目的。但是,如果将您的第一个初始视图控制器“充当”启动屏幕,您可以做什么。只需让它显示与启动图像相同的图像并在那里执行您需要执行的操作。完成后,从那里移至主视图控制器。

【讨论】:

  • 那么,启动屏幕不是在启动主屏幕之前准备一些默认数据吗?如果是这样,“启动屏幕”这个词就没什么用了。
  • 嗯,从某种意义上说是;但不是为了我们的代码,而是为了苹果自己的启动代码。如果我们想让我们的代码在主应用程序启动之前完成设置工作;我们需要按照我上面的建议去做。
  • 如果是这样,我应该删除所有生成的文件,我的项目中有关“启动屏幕”的属性。
  • 如果它们默认存在,那么不,不要那样做。如果你把它们放在那里;好的继续。只需确保为您支持的设备保留启动图像
【解决方案2】:

启动屏幕会在您的应用开始执行之前显示,以便在加载时提供从 Springboard 到您的应用的过渡。根据 Apple 界面指南,

启动文件(或图像)提供了一个简单的占位符图像,iOS 会在您的应用启动时显示该图像。占位符图像给用户的印象是您的应用快速且响应迅速,因为它会立即出现并很快被应用的第一个屏幕所取代。

要实现过渡,请从LaunchScreen.storyboard 中删除类并将其设置为类似于 0% 加载过渡。在您的Main.storyboard 中创建一个新控制器并在那里设置CustomLauchScreenViewController 并将其分配为初始视图控制器。 将CustomLauchScreenViewController 设置为您的应用委托中的根视图控制器。当启动屏幕将被您的此控制器替换时,过渡过于平滑,感觉不到任何差异。加载数据后,将根视图控制器更改为所需的视图控制器。

【讨论】:

  • 我在情节提要中设置了 CustomLaunchScreenViewController,它会导致错误。如果您阅读 Tander 的回答,则启动屏幕不用于加载数据。如果加载数据的时间比过渡时间长,会发生什么?
  • 您不能在 LaunchScreen.storyboard 中设置任何类。在 Main.storyboard 中设置类似的控制器作为初始视图控制器。我更新了答案。
  • 如果启动屏幕只是为了平滑过渡,所以我不需要它。在移动到主视图控制器之前,我将在情节提要中为设置内容创建另一个 UIViewController。我将删除有关“启动屏幕”的所有多余内容。谢谢。
  • 现在需要提供启动屏幕。你不能跳过它。
  • 我已经删除了,运行良好。
猜你喜欢
  • 2017-05-27
  • 2020-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多