以编程方式更改UIButton的标题颜色,其标题设置为iOS 7中的属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以编程方式更改UIButton的标题颜色,其标题设置为iOS 7中的属性相关的知识,希望对你有一定的参考价值。
我以编程方式在UIButton
中添加了一个UITableView
。我的问题是我需要给Letter Spacing
以及需要更改按钮标题颜色。我使用下面的代码在按钮标题文本中给出了Letter Spacing
,但标题文本颜色没有变化。
这是我的代码:
btnLogin = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btnLogin.frame = CGRectMake(0, 0, 320, 42);
btnLogin.titleLabel.font = customFont;
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"LOG IN"];
[attributedString addAttribute:NSKernAttributeName
value:@(spacing)
range:NSMakeRange(0, [@"LOG IN" length])];
[btnLogin setAttributedTitle:attributedString forState:UIControlStateNormal];
btnLogin.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"cell_highlighted.png"]];
[btnLogin setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; //it's not working.
[btnLogin addTarget:self action:@selector(onClickLogin) forControlEvents:UIControlEventTouchUpInside];
[cell addSubview:btnLogin];
[cell.contentView bringSubviewToFront:btnLogin];
你能帮我解决一下如何更改按钮标题颜色吗?谢谢。
答案
我在@Larme的帮助下得到了答案。
只需添加此行:
[attributedString addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:NSMakeRange(0, [@"LOG IN" length])];
谢谢大家!!
另一答案
Swift版本
attributedString.addAttribute(NSForegroundColorAttributeName, value: UIColor.skyBlue, range: NSMakeRange(0, attributedString.string.length))
以上是关于以编程方式更改UIButton的标题颜色,其标题设置为iOS 7中的属性的主要内容,如果未能解决你的问题,请参考以下文章