2014-08-28 193 views
0

我正在一个应用程序,它允许我选择一种颜色。目前,我有一个简单的按钮,它说“选择一种颜色”,用颜色启动一个新的模式。一旦用户选择了颜色,“选择颜色”文本被替换为颜色名称(要求),并且按钮背景填充了所选颜色。当所选颜色与按钮的文本颜色相同时,会出现问题。在这种情况下,用户将无法看到选定的颜色文本,因为它与背景颜色混合在一起。颜色选择器选择的颜色显示

如何处理这个问题?

+0

使用'[的UIColor ClearColor]'作为背景颜色 – Mohit 2014-08-28 11:48:38

+0

对不起我的厉害!这是一个使用JavaScript等HTML5应用程序,而不是本机应用程序。 – 2014-08-28 11:53:03

回答

0

这听起来像一个设计问题比什么都重要。如果你在这个项目上有UI用户/加仑,我会在这种情况下推迟他们的判断。

Spend Stack我也有类似的问题,因为用户可以在整个应用程序改变他们的配色方案,我最终只是做一切与白色字体颜色的工作。在你的实例中,我将假设你的字体颜色也是白色的。在这种情况下,你可以只添加一个条件来改变文字颜色时,使用的工厂方法之一容易选择白色上UIColor

lbl.textColor = [UIColor redColor]; //or whatever color you want 

我也只是断火的消息无论何时一个新的背景由于可扩展性原因选择颜色。

一个很好的例子来看看是Chameleon与你提到enter image description here

祝您好运完全相同的问题涉及!

+0

但是,不仅如果选择了白色,然后将文本颜色更改为黑色。如果选择了关闭白色或选择了黄色或黄色或灰色阴影,该怎么办?有太多的组合。 – 2014-08-28 12:02:38

+0

这就是为什么我提到你应该发出消息,无论 - 每次处理它。除了一些手肘润滑油和代码之外,没有其他办法可以解决这个问题 - 如果您希望这是动态的,您可以收到一条消息,接收所选颜色并找到一个可以返回到您的UILabel的免费颜色。许多方法来剥皮这只猫。 – 2014-08-28 12:04:46