I have a UIButton, and I'd like to update its title, but I'd rather not have to always do it for each and every state like the following:
[myButton setTitle:@"Play" forState:UIControlStateNormal]; [myButton setTitle:@"Play" forState:UIControlStateHighlighted]; [myButton setTitle:@"Play" forState:UIControlStateSelected];
Is there a better way?
According to the documentation you should only need to call:
In Objective-C:
[myButton setTitle:@"Play" forState:UIControlStateNormal];
In Swift:
myButton.setTitle("Play", for: .normal)
The UIButton docs explain why:
In general, if a property is not specified for a state, the default is to use the UIControlStateNormal value. If the value for UIControlStateNormal is not set, then the property defaults to a system value. Therefore, at a minimum, you should set the value for the normal state.
Namely, that if you only set the normal value the other states will refer to it when being set.
or you can setTitle by :
[myButton setTitle:@"Play" forState:UIControlStateNormal|UIControlStateHighlighted|UIControlStateSelected];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With