【问题标题】:How to apply the Theme in iOS Native apps如何在 iOS 原生应用中应用主题
【发布时间】:2015-07-02 23:50:16
【问题描述】:

我正在创建一个本机应用程序,我想在其中实现主题设置。 我有一个设置选项卡,用户可以在其中选择任何主题。

但是当用户选择任何主题时,我该如何更改所有 UI,具体取决于主题。

1- 我必须从头开始重新启动应用程序。这样做时,我应该使用将用户推送到 MainController 吗?在 viewdidLoad 的所有控制器中,我更改了主题。

2- 或者我必须使用的任何其他方法,请提出正确的方法。

【问题讨论】:

  • 您是否有跨应用程序访问此设置,或者您在特定屏幕或设置包中访问?
  • 按主题我理解的是背景视图/背景颜色,对吗?
  • 背景视图/背景颜色,导航栏颜色,标签栏颜色和文本颜色,按钮所有的东西。

标签: objective-c ios themes


【解决方案1】:

回答你的问题 -

1- 我必须从头重新启动应用程序才能执行此操作,我应该使用它来将用户推送到 MainController。并在 viewdidLoad 的所有控制器中更改主题。

没有。您无需这样做,因为您只需更改应用的外观和感觉。

2- 或者我必须使用的任何其他方法请建议我什么是正确的方法。

在您应用的控制器中,尝试设置viewWillAppear 中元素的颜色,所有这些颜色都从NSUserDefaults 或您想要的任何其他位置获取。 当用户更改主题时,只需更改存储在NSUserDefaults 或任何其他位置的颜色,并借助实用方法仅重新加载该控制器。 Rest 视图控制器将在加载时自动获取更改。

Utility Class 将负责更改 UI 元素的颜色,您可能需要为此创建 2 或 3 个实用方法。

希望能解开一些疑惑。

【讨论】:

  • 是的@Rishi,你是对的,但我还有一个疑问,如果我使用 NSUserDefaults 那么它会影响应用程序的性能,因为我有更多参数来更改主题??????
  • 这将取决于您要存储的所有数据,如果您要存储一些颜色和字符串值,那么它将不会生效。
【解决方案2】:

如果您想根据用户的选择重新设置应用程序的主题,我推荐使用动态样式库,例如 http://nativecss.com/

它可以让您在应用运行时重新设置应用主题,这听起来就像您所追求的一样!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-18
    • 2018-05-11
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 2018-10-12
    相关资源
    最近更新 更多