我要求根据用户选择制作具有颜色主题的应用程序 用户在开始时选择一种颜色(8种可用颜色),该颜色将应用于整个应用程序(背景颜色,按钮,图标......)
如果我为每种颜色创建图像,该应用程序将拥有大量图像,并且可能很大,而且这种方法看起来不是很好。
我尝试导入1种颜色的图像,然后根据用户选择的颜色更改图像颜色,但是像滑块这样的控件出现问题,而且更改的图像看起来不像photoshop那样
你能帮我解决这个问题吗?
答案 0 :(得分:2)
将所有图像设为一种颜色(可能是黑色),然后让用户选择颜色并将其保存为用户默认值。将需要获取主题的所有项目链接到用户默认值的颜色。然后使用UIImageView的tintColor属性来设置您的应用程序。
为任何UIImageView着色的方法:
- (void)tintImageView:(UIImageView *)imageView withTint:(UIColor *)tintColor
{
imageView.image = [imageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
[imageView setTintColor:tintColor];
}
用于淡化Button的示例:
[self tintImageView:self.button.imageView withTint:[UIColor blueColor]];
用于着色UIImageView的示例:
[self tintImageView:self.imageView withTint:[UIColor blueColor]];
答案 1 :(得分:2)
如果您使用的是iOS7,则可以利用tintColor属性。 对于图像,您需要确保它们是使用模板选项创建的。 请查看此明确的教程,该教程将指导您将主题应用于应用中的不同类型的控件:Theming iOS Applications
您可能也有兴趣尝试Pixate Freestyle,它基本上允许您将类似css的样式应用到您的iOS应用程序,这是一个非常酷的工具,我发现它也很容易使用。