使用 SwiftUI 为启用/禁用按钮设置颜色的最智能方法

Posted

技术标签:

【中文标题】使用 SwiftUI 为启用/禁用按钮设置颜色的最智能方法【英文标题】:Smartest way to set color for enabled/disabled buttons with SwiftUI 【发布时间】:2019-07-21 19:38:46 【问题描述】:

我想根据按钮是启用还是禁用来设置按钮视图中文本视图的颜色。什么是最聪明的方法来做到这一点,并获得启用/禁用颜色的系统默认颜色,因为我不想设置任何灰色阴影,我想设置“正常”灰色阴影。

【问题讨论】:

我在这里找到了两个博客 (alejandromp.com) 对此非常有帮助。虽然他们差不多一个月大,但他们应该可以帮助你。 【参考方案1】:

实际上,将.buttonStyle(.plain) 添加到按钮中正是我想要的。现在,如果按钮被禁用,按钮会自动变为灰色。

【讨论】:

【参考方案2】:

这里是如何在 SwiftUI 2.0 中做到这一点

Button("PressME", action: self.playerAttemptCount += 1
                           ).buttonStyle(PlainButtonStyle())

这样,如果按钮被禁用,按钮会自动变为灰色。

【讨论】:

以上是关于使用 SwiftUI 为启用/禁用按钮设置颜色的最智能方法的主要内容,如果未能解决你的问题,请参考以下文章

我如何知道 SwiftUI 按钮是不是已启用/禁用?

禁用为按钮设置可检查 QPushbutton 的背景颜色

SwiftUI:基于 WebView 状态禁用/重新启用按钮

jQuery 禁用启用按钮样式

使用imageView外观禁用UIButton而不将isEnabled设置为false

SwiftUI 按钮大小/形状/颜色不变