在自定义/填充的 UIButton 中,如何更改(通过 .configuration?)tintColor 更改的颜色?

问题描述 投票:0回答:1
请注意,这个问题是关于tintColor的。这个问题与backgroundColor无关,完全不同。

此外,我注意到有很多关于按钮上图像的色调颜色的质量检查。这与此无关。这是一个关于

.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 中?*如果有人知道的话。

swift uikit uibutton
1个回答
0
投票
将配置的

background.backgroundColor

 设置为固定颜色,它将保持固定。

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