【问题标题】:iOS: Update launch screen dynamicallyiOS:动态更新启动屏幕
【发布时间】:2017-01-27 10:58:21
【问题描述】:

我使用故事板设计了一个启动屏幕。它应该有3张图片。其中 2 个是静态的,我需要在 运行时 更新一个(从服务器下载后)。

我的理解是我们不能为启动屏幕添加代码,因为后端没有控制器。

我想做的是第一次使用一些默认占位符。在应用程序的其他位置下载并缓存该动态图像。并且当用户第二次使用该应用程序时,显示缓存的图像。

有什么解决办法吗?我可以在运行时更新 xcassets 吗?或者我可以使用 keypath 更新图像吗?

更新: 刚刚发现启动屏幕和启动屏幕是两个不同的东西(Link)。无法在启动屏幕中动态添加内容。然而,不推荐使用闪屏(不需要)。

【问题讨论】:

  • 我可以给你一个提示,比如你想在主页之前显示从网上下载的一张图片。所以你可以在主屏幕之前设置启动屏幕,所以它是你制作的一种启动屏幕。
  • 看看这个答案它会帮助你stackoverflow.com/questions/30027960/…
  • 您可以在启动屏幕中有代码,因此只需将服务器图像保存在 docs 文件夹中,然后在启动屏幕上检查它是否存在,如果存在,我认为这应该可以吗?跨度>
  • @SeanLintern88 你的启动屏幕中不能有代码!
  • 这很奇怪,因为我在项目设置中使用“启动屏幕文件”作为情节提要,其中有 1 个 VC,它链接到执行和动画的文件,然后转换到另一个屏幕,一切正常

标签: ios iphone uiimageview xcasset launch-screen


【解决方案1】:

这是不可能的,启动时使用的故事板在应用程序的主包中,它是只读的,不能更改。

此外,您(编辑)无法在启动时运行任何代码,因为您的应用没有运行。

【讨论】:

  • 我上面的评论呢?它会解决某种问题吗?我知道这是不可能的,但可以这样做
  • 是的,您可以在启动屏幕之后加载第二个屏幕,这是可能的。但您不想延迟应用的启动。
  • hmm,而且我认为下载图像会延迟更多,然后显示固定时间。所以最好不要那样做。谢谢
  • @rckoenes,我们不能使用运行时吗?像键路径等?或者我们不能以编程方式更新 xc-assets 吗??
  • @FayzaNawaz 不,因为使用了启动屏幕,所以您的应用程序正在加载,因此没有代码正在运行,启动屏幕使用的资产再次位于只读的主包中。
猜你喜欢
  • 2016-05-13
  • 2018-03-18
  • 1970-01-01
  • 2014-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-24
  • 1970-01-01
相关资源
最近更新 更多