NSTextAttachment 色调颜色
NSTextAttachment Tint Color
我正在尝试创建一个带有文本的标签,并在前面加上一个图标,但遗憾的是我无法仅更改图标的颜色。它始终使用默认颜色着色。
我是这样做的:
var titleStringAttribute = NSMutableAttributedString(string: "")
var iconAttachment = NSTextAttachment(image: UIImage(systemName: "trash")!)
iconAttachment.image?.withTintColor(.red, renderingMode: .alwaysTemplate) // Does not work?!
titleStringAttribute.append(NSAttributedString(attachment: iconAttachment))
// Appending bold text to attributedText
theLabel.attributedText = titleStringAttribute
我也查看了 Whosebug 和互联网上的其他网站,但没有任何帮助。
我正在使用 iOS 13.5.
感谢您的回答!
withTintColor(_:renderingMode:)
不会 更改 您调用它的图像。它所做的一切 return 一个 new UIImage
供您使用,但您没有使用它。
更新您的代码以首先创建默认垃圾图像,然后使用 withTintColor
从该图像创建一个新图像,最后在其初始化程序中为您的附件提供该新图像:
let titleStringAttribute = NSMutableAttributedString(string: "")
let trashImage = UIImage(systemName: "trash")!
let redTrashImage = trashImage.withTintColor(.red, renderingMode: .alwaysTemplate)
let iconAttachment = NSTextAttachment(image: redTrashImage)
titleStringAttribute.append(NSAttributedString(attachment: iconAttachment))
// Appending bold text to attributedText
theLabel.attributedText = titleStringAttribute
我正在尝试创建一个带有文本的标签,并在前面加上一个图标,但遗憾的是我无法仅更改图标的颜色。它始终使用默认颜色着色。
我是这样做的:
var titleStringAttribute = NSMutableAttributedString(string: "")
var iconAttachment = NSTextAttachment(image: UIImage(systemName: "trash")!)
iconAttachment.image?.withTintColor(.red, renderingMode: .alwaysTemplate) // Does not work?!
titleStringAttribute.append(NSAttributedString(attachment: iconAttachment))
// Appending bold text to attributedText
theLabel.attributedText = titleStringAttribute
我也查看了 Whosebug 和互联网上的其他网站,但没有任何帮助。
我正在使用 iOS 13.5.
感谢您的回答!
withTintColor(_:renderingMode:)
不会 更改 您调用它的图像。它所做的一切 return 一个 new UIImage
供您使用,但您没有使用它。
更新您的代码以首先创建默认垃圾图像,然后使用 withTintColor
从该图像创建一个新图像,最后在其初始化程序中为您的附件提供该新图像:
let titleStringAttribute = NSMutableAttributedString(string: "")
let trashImage = UIImage(systemName: "trash")!
let redTrashImage = trashImage.withTintColor(.red, renderingMode: .alwaysTemplate)
let iconAttachment = NSTextAttachment(image: redTrashImage)
titleStringAttribute.append(NSAttributedString(attachment: iconAttachment))
// Appending bold text to attributedText
theLabel.attributedText = titleStringAttribute