可定制的主题颜色设计应用程序在ios中

时间:2016-04-29 04:38:50

标签: ios uistoryboard

我需要根据用户想要的主题制作可自定义的应用程序设计。

我只应该在一个地方改变颜色,并且应该改变整个应用程序主题。

  

注意:不同的主题包含不同的主题颜色。

我所做的是制作这样的调色板。

Set ThemeColors Named Colour Palette

在此图片中,如果我将ThemeColor更改为Green而不是Blue,那么我曾使用过ThemeColor,那么就应该Green而不是。

但我无法找到定制这种颜色的方法。或者任何其他方式,我错过了实现我的要求?

任何帮助表示赞赏..

4 个答案:

答案 0 :(得分:1)

您应该使用NSUserDefault来存储当前主题。在来自ViewControllerNSuserdefault的{​​{1}}的每个viewwillAppear设置背景颜色中,因为每次导航时它都会调用。当更改主题更改viewDidAppear中的颜色时,您的每个userdefault都会获得该颜色。

在评论中提出更新:

你可以存储这样的颜色,

viewcontroller

然后从每个视图控制器

 NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];

UIColor  *currentThemeColor = [UIColor redColor]; //any color instead of red which user change from settingviewcontroller

NSData *colorData =  [NSKeyedArchiver archivedDataWithRootObject:currentThemeColor];

[myDefaults setObject:colorData forKey:@"themeColor"];

希望这会有所帮助:)

答案 1 :(得分:1)

在代码中创建App主题颜色,如下所示:

#define APPTHEME_COLOR  [UIColor colorWithRed:238.0/255.0 green:82.0/255.0 blue:87.0/255.0 alpha:1.0]

在您需要的所有控件中使用此主题颜色。更改此RGB值后,您的主题将会更改。

还有一件事要说,你不需要在Storyboard中设置颜色。你必须在Code中设置它。

希望有所帮助......

答案 2 :(得分:1)

如果您使用目标 iOS 7 + 开发项目并使用默认iOS UI对象,则可以通过更改UIView的 tintColor 属性并使用来管理主题UIAppearance 协议。

,您也可以从 storyboard / xib 更改tintColor。

此最佳教程https://www.raywenderlich.com/108766/uiappearance-tutorial

--- 更新 ---

适用于所有iOS版本How to create Multiple Themes/Skins for iphone apps?

我希望这会对你有所帮助。 :)

答案 3 :(得分:0)

为此目的使用全局色调颜色。 :)