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

Ole*_*ych 7 uibutton ios uicontrolstate swift3

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

Dun*_*n C 18

我觉得你很困惑.UIControlState用于设置目标/操作,或更改特定状态按钮的外观(例如,您可以指定选择时使用的图像,以及当按钮不在选定状态时的不同图像州.)

如果要将状态更改为选定状态,只需设置所选属性即可.

button.isSelected = true
Run Code Online (Sandbox Code Playgroud)

同样适用于isEnabled:

button.isEnabled = false //disable the button
Run Code Online (Sandbox Code Playgroud)


Ret*_*ogs 9

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

button.isSelected = true
Run Code Online (Sandbox Code Playgroud)

或者

button.isHighlighted = true
Run Code Online (Sandbox Code Playgroud)

  • 这可能是一个旧线程,但看起来你比我早了一分钟找到答案。我不知道为什么你没有得到支票或选票,但我给你投票,因为你是第一个回答正确的人。 (2认同)