NSAttributedString:如何使用颜色模拟不透明度或 alpha 等效值

问题描述 投票:0回答:1

我正在使用

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 值(或不透明度)?

感谢您的任何建议。

ios objective-c swift nsattributedstring uicolor
1个回答
3
投票

您可以使用改变任何颜色阿尔法

UIColor.red.withAlphaComponent(0.5)

当然要知道原色了

没有通用的 alpha 修饰符。

© www.soinside.com 2019 - 2024. All rights reserved.