UILabel的字体颜色没有改变

24

我想在一个UILabel上使用粗体黑色字体和50号的大小显示数字。

经过多次尝试,我发现无论我将字体设置成什么颜色,它总是被设置为浅灰色。除了下面提到的之外,我还需要做些什么吗?

[DisplayLabel setFont:[UIFont fontWithName:[NSString stringWithUTF8String:"HelveticaNeue-Bold"] size:50]];
DisplayLabel.textColor = [UIColor brownColor];
DisplayLabel.textAlignment = NSTextAlignmentCenter;
我正在使用故事板将标签添加到视图中。

当您以编程方式执行时,对齐和字体是否会发生变化? - almas
字体大小和对齐方式可以通过编程进行更改,但颜色无法更改。 - user220201
5个回答

61

我遇到了同样的问题,但原因是在storyboard中设置了自定义颜色。显然,您必须将颜色属性设置为default才能在编程中更改它。我发现这对所有UIView都适用。


3
谢谢你,这真是个奇怪的问题......我想我自己永远也想不出来! - nsantorello
没问题。很高兴能够帮助任何人避免我经历的烦恼。 - DroidT
1
我猜那是某种错误,而不是功能。 - Peter Lapisu
3
哇,我浪费了很多时间尝试更改一个我们一遍又一遍使用的xib中的标签,但是它就是不变。谢谢。Swift 4,Xcode版本10.1(10B61) - StephenFeather
遇到了同样的错误。我相信它不会影响属性文本标签。 - jaynp

23

确保你的标签行为像这样。输入图像描述


我在哪里可以找到这个?我找不到它。 - user220201
1
找到了。我刚刚通过编程启用了标签。成功了! - user220201
@user220201 你是如何通过编程激活它的? - Pylinux

2

我试图在cellForRowAt方法中,以编程方式更改UITabelViewCell中UILabel的文本颜色。但是,在重新加载后标签才会更改文本颜色。

如果我将故事板中的文本颜色更改为默认值,并在开头编程方式更改它,我就可以更改标签的文本颜色。


0

是的,那个 bug 真的很恼人。只需重新启动 Xcode,它就会正常工作。


-1

我通过在cellForRowAtIndexPath中首先将颜色设置为系统颜色,然后再设置为自定义颜色,使其适用于表格或集合视图单元格。

myLabel.textColor = .black
myLabel.textColor = UIColor(named: "My custom color")

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