问题描述
我正在使用NSAttributedString
作为按钮标题,并且希望能够“灰显”或降低某些文本的字母或容量。 NSAttributedString
似乎不允许您修改文本的不透明度或alpha值,但可以使用以下方法调整颜色:
NSMutableAttributedString *text =
[[NSMutableAttributedString alloc]
initWithAttributedString: label.attributedText];
[text addAttribute:NSForegroundColorAttributeName
value:[UIColor redColor]
range:NSMakeRange(10,1)];
或:
let range = (mainString as Nsstring).range(of: stringToColor)
let mutableAttributedString = NSMutableAttributedString.init(string: mainString)
mutableAttributedString.addAttribute(NSAttributedString.Key.foregroundColor,value: UIColor.red,range: range)
在这种情况下,起始颜色为系统蓝色。是否有任何公式可以让我将系统颜色修改为等效于0.5的alpha值(或不透明度)?
谢谢您的建议。
解决方法
您可以使用更改任何颜色alpha
UIColor.red.withAlphaComponent(0.5)
当然,您必须知道原始颜色。
没有通用的alpha修饰符。