如何以编程方式更改视图的UIColor

8

好的,这个问题是通过朋友传递过来的,所以可能有些翻译不准确...

基本上我们需要改变一个视图的颜色。它似乎以NSString格式存储,但使用NSString设置UIColor似乎没有任何作用。换句话说,如果NSString color保存的值为"redColor",那么:

self.view.backgroundColor = color;  //does nothing

免责声明: 我们是Objective-C/iPhone的新手。

这个问题可能也会有帮助:https://dev59.com/3kvSa4cB1Zd3GeqPcjRO - Vladimir
5个回答

23

尝试

self.view.backgroundColor = [UIColor redColor];

你也可以使用 RGB 值,例如:

self.view.backgroundColor = [UIColor colorWithRed:200/255.0 green:0/255.0 blue:67/255.0 alpha:1.0];

祝一切顺利。


谢谢,我会告诉我的朋友尝试这个,但是两个相同的答案看起来很有前途 :) - miorel
3
细节很小,但你应该除以255而不是256。 - pdenya

1

颜色必须是UIColor对象:

self.view.backgroundColor = [UIColor redColor];

谢谢,我会告诉我的朋友尝试这个,但是两个相同的答案看起来很有前途 :) - miorel

1
像这样,我们也可以使用。
[self.view setBackgroundColor:[UIColor redColor]];

0

self.view.backgroundColor = [UIColor blueColor];

或者像这样做

self.view.backgroundColor = [UIColor colorWithRed:180.0/256.0 green:180.0/256.0 blue:180.0/256.0 alpha:1.0];

0

编程中最简单的添加颜色的方法是使用ColorLiteral

只需像示例中所示添加ColorLiteral属性,Xcode将提示您选择整个颜色列表。这样做的优点是代码更少,可以添加HEX值或RGB。您还将从故事板中获取最近使用的颜色。

示例: self.view.backgroundColor = ColorLiteral enter image description here


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