此外,我注意到有很多关于按钮上图像的色调颜色的质量检查。这与此无关。这是一个关于
.tintColor
UIButton
的问题
有一个典型的(现代)按钮,
private lazy var toggle: UIButton = {
let v = UIButton(type: .custom)
v.configuration = .filled()
v.configuration?.titleTextAttributesTransformer =
UIConfigurationTextAttributesTransformer { i in
var o = i
o.font = UIFont.monospacedSystemFont(ofSize: 12, weight: .medium)
return o
}
v.layer.cornerRadius = 5
v.layer.cornerCurve = .continuous
v.layer.borderWidth = 1
v.layer.borderColor = UIColor.systemYellow.cgColor
v.clipsToBounds = true
v.setTitle("Log", for: [])
v.setTitleColor(.systemGray3, for: [])
v.tintColor = .systemGray
...
请注意,tintColor 是系统灰色。如果您尝试这样做,当按下按钮时,tintColor 实际上会变为某种透明颜色。 (我很确定,但不确定,这是当前的背景颜色,也许是默认的背景颜色 - 也许有人肯定知道)
按下按钮时,如何设置tintColor 改变的颜色?
相反,事实上,众所周知,当按下按钮时不可能改变tintColor的变化,如果是这样(我的猜测),现在唯一的机制是tintColor消失,然后你会看到剩下的东西(大概是背景) ,除非您以某种方式添加了自己的图层或类似的图层)。
.configuration
没有类似
.tintColorColorTransformer
的东西,所以怎么办??顺便说一句,请提前注意,谢谢,但我不需要任何替代建议(“只需使用 Android”等),我问*当按钮被按下,在自定义/填充的 UIButton 中?*如果有人知道的话。
background.backgroundColor
设置为固定颜色,它将保持固定。