增强UIButton:实现更明显的按下效果

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

我注意到默认的、标准的、普通样式的按钮在按下时不会提供强烈的指示。例如,考虑这个带有默认设置的普通样式按钮。正如您所看到的,它没有提供清晰的视觉指示器来显示当前正在按下。

在检查操作系统提供的按钮(例如照片选择器)时,按下时的视觉效果更加明显。您能否建议我如何在 UIButton 中实现类似的效果?谢谢你。

ios swift uikit uibutton
1个回答
0
投票

您可以使用

setTitleColor
为每个状态简单地配置
style == default
。然而,对于
Plain
,这些配置不起作用。因此,您需要应用以下方法之一:

1。将样式更改为

Default
,然后它会自动按预期工作

2。使用 iOS 15 中新按钮的 UIConfiguration API

var config = button.configuration

config?.titleTextAttributesTransformer = config?.titleTextAttributesTransformer = UIConfigurationTextAttributesTransformer { [weak self] input in
    var output = input
    guard let button = self?.button else { return output }
    switch button.state {
    case .highlighted:
        output.foregroundColor = .systemBlue.withAlphaComponent(0.2)
    default:
        output.foregroundColor = .systemBlue
    }
    return output
}

button.configuration = config
© www.soinside.com 2019 - 2024. All rights reserved.