fra*_*eng 30 colors uikit ios sf-symbols
在 中SwiftUI,您可以使用foregroundColor修饰符更改图标的颜色。所以我认为应该有一种方法可以改变UIKit. 我查阅了文档,并没有找到任何与之相关的内容。
现在可以吗?
let iconImage = UIImage(systemName: "chevron.right",
withConfiguration: UIImage.SymbolConfiguration(pointSize: 16, weight: .regular, scale: .medium))
Run Code Online (Sandbox Code Playgroud)
Shi*_*esh 44
使用以下代码更改 SFSymbols 图标颜色
let imageIcon = UIImage(systemName: "heart.fill")?.withTintColor(.red, renderingMode: .alwaysOriginal)
imageView.image = imageIcon
Run Code Online (Sandbox Code Playgroud)
前
后
Yon*_*nat 40
用:
let icon = UIImageView(image: iconImage.withRenderingMode(.alwaysTemplate))
icon.tintColor = .red
Run Code Online (Sandbox Code Playgroud)
小智 9
一个小小的补充。如果对任何人有帮助,我很高兴。我们不仅可以组合不同的颜色,还可以组合不同的尺寸和重量。例如你可以这样做:
let colorsConfig = UIImage.SymbolConfiguration(paletteColors: [.white, .magenta])
let sizeConfig = UIImage.SymbolConfiguration(pointSize: 30, weight: .bold)
let image = UIImage(systemName: "plus.circle.fill", withConfiguration: colorsConfig.applying(sizeConfig))
button.setImage(image, for: .normal)
Run Code Online (Sandbox Code Playgroud)
let image = UIImage(systemName: "arrow.up.circle.fill")?.withTintColor(.black, renderingMode: .alwaysOriginal)
button.setImage(image, for: .normal)
Run Code Online (Sandbox Code Playgroud)
小智 6
let iconImage = UIImage(systemName: "chevron.right",
withConfiguration: UIImage.SymbolConfiguration(pointSize: 16, weight: .regular, scale: .medium))?.withTintColor(.systemGreen)
Run Code Online (Sandbox Code Playgroud)
muteCall.setImage(UIImage(systemName: "mic.slash")?.withTintColor(.white, renderingMode: .alwaysOriginal), for: .normal)
Run Code Online (Sandbox Code Playgroud)
将渲染设置为始终原始