NSAttributedString:如何使用颜色模拟不透明度或 alpha 等价物
NSAttributedString: How to mimic opacity or alpha equivalent using color
我正在使用 NSAttributedString
作为按钮标题,并且希望能够“变灰”或降低某些文本的 alpha 或容量。 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 修饰符。
我正在使用 NSAttributedString
作为按钮标题,并且希望能够“变灰”或降低某些文本的 alpha 或容量。 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 值(或不透明度)?
感谢您的任何建议。
您可以使用
更改任何颜色的 alphaUIColor.red.withAlphaComponent(0.5)
当然要知道原色
没有通用的 alpha 修饰符。