具有不同主题的应用程序的iOS启动屏幕?

4
我想为我的应用程序创建一个启动屏幕,让用户选择主题(黑色或白色)。
当我不知道启动时将使用哪个主题时,创建启动屏幕的最佳方法是什么?
非常感谢您的任何建议。
谢谢!
2个回答

2

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

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


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

0

不,这是不可能的。

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

即使是

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

当启动屏幕显示时,代码将不会完全执行。

因此很明显,在这个时候你无法访问你的应用程序,也不能执行任何代码,因此 - 无法自定义LaunchScreen.xib


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接