Oleh Liskovych
Oleh Liskovych

Reputation: 1061

How to change UIButton state programmatically in Swift

I develop app for drawing on screen. I have toolpanel with bunch of buttons. Some of them have to become disabled or pressed depending on current user action. How can I change UIControlState of buttons programmatically considering that "state" property is readonly? If it's impossible, what is alternative for this purpose?

Upvotes: 10

Views: 32230

Answers (2)

Duncan C
Duncan C

Reputation: 131418

I think you're confused. UIControlState is used to set up target/actions, or to change the appearance of the button for specific states (So, for example, you can specify the image that's used when it's selected, and a different image for when the button is not in the selected state.)

If you want to change the state to selected, you just set the selected property.

button.isSelected = true

Likewise for isEnabled:

button.isEnabled = false //disable the button

Upvotes: 37

Retterdesdialogs
Retterdesdialogs

Reputation: 3210

Use the correct property to change the state. For example

button.isSelected = true

or

button.isHighlighted = true

Upvotes: 13

Related Questions