如何在 Swift 中以编程方式更改 UIButton 状态

Posted

技术标签:

【中文标题】如何在 Swift 中以编程方式更改 UIButton 状态【英文标题】:How to change UIButton state programmatically in Swift 【发布时间】:2017-04-13 14:33:27 【问题描述】:

我开发用于在屏幕上绘图的应用程序。我有一堆按钮的工具面板。根据当前的用户操作,其中一些必须被禁用或按下。考虑到“状态”属性是只读的,如何以编程方式更改按钮的 UIControlState?如果不可能,有什么替代方法可以达到此目的?

【问题讨论】:

【参考方案1】:

我认为你很困惑。 UIControlState 用于设置目标/动作,或更改特定状态下按钮的外观(因此,例如,您可以指定选择时使用的图像,以及当按钮未选择时使用的不同图像处于选中状态。)

如果您想将状态更改为选中,您只需设置选中的属性。

button.isSelected = true

isEnabled 也是如此:

button.isEnabled = false //disable the button

【讨论】:

【参考方案2】:

使用正确的属性来改变状态。例如

button.isSelected = true

button.isHighlighted = true

【讨论】:

这可能是一个旧线程,但看起来你比我早了一分钟。我不确定你为什么没有得到支票或选票,但我给你投票,因为你是第一个正确回答的人。 @DuncanC 对我来说没问题。我不是在寻找选票或支票,只是想帮助人们:) 但是谢谢。

以上是关于如何在 Swift 中以编程方式更改 UIButton 状态的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中以编程方式更改 UIButton 状态

如何在 Swift 中以编程方式更改自定义 UITableViewCell 中按钮的背景颜色?

在 Swift 中以编程方式更改 UIButton 的文本(填充)

当 UIStepper 在 Swift 4 中以编程方式点击时如何更改 UILabel 的文本,如果它们都在 UITableViewCell 中?

我可以在 Swift 5 和 IOS 12 中以编程方式更改 iOS 屏幕壁纸吗

在 Swift 中以编程方式隐藏 TextFields?