【问题标题】:iOS Launch Screen for app with different themes?具有不同主题的应用程序的 iOS 启动屏幕?
【发布时间】:2016-07-22 08:17:18
【问题描述】:

我想为我的应用创建一个启动屏幕,让用户可以选择主题(黑色或白色)。

当我不知道启动时将使用什么主题时,创建启动屏幕的最佳方法是什么?

我们将不胜感激任何建议。

谢谢!

【问题讨论】:

    标签: ios swift xcode themes launch


    【解决方案1】:

    您不能对LaunchScreen.storyboard 进行编程,另一种方法是例如创建一个ThemeViewController 并在那里设置您的应用程序的外观,然后检查用户是否选择了一个主题,将该视图控制器跳过到您的应用程序主视图控制器。您可以检测是否用户使用NSUserdefualts 选择主题。

    我的建议是为您的应用创建一个默认主题,然后如果用户想要更改它,他们将转到“设置”并更改主题。

    【讨论】:

    • 谢谢。我有一个按钮,点击它可以更改 NSUserdefaults 的值(0 或 1)。然后将应用程序中的颜色设置为相应的值。假设默认值为 0(白色)- 启动屏幕也将是白色的。当用户选择黑色主题(值 1)时,如何使应用程序自动将启动屏幕更改为黑色?请你给我任何示例代码(在 Swift 中)?
    • 我告诉过你没有办法用代码自定义LaunchScreen.storyboard。您可以只添加图像、标签等......但通过 Interface Builder 而不是代码。我的建议是其中一种标准方式。
    • 我认为可能有一种方法可以在应用程序运行时(而不是启动时)更新启动屏幕,为下次启动做准备。
    • 看看这个:github.com/granoff/LaunchScreen它可能对你有帮助。祝你好运。如果您发现此答案有帮助,请接受。谢谢
    【解决方案2】:

    不,这不可能。

    当显示启动屏幕时,您的应用将处于加载状态。

    即使是

     - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    

    在显示启动屏幕时不会完全执行。

    所以很明显,您对您的应用没有任何访问权限,因此此时您无法执行任何代码,因此 - 无法自定义 LaunchScreen.xib

    【讨论】:

      猜你喜欢
      • 2012-05-15
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-27
      • 1970-01-01
      相关资源
      最近更新 更多