How to stop unwanted UIButton animation on title change? How to stop unwanted UIButton animation on title change? swift swift

How to stop unwanted UIButton animation on title change?


Use the performWithoutAnimation: method and then force layout to happen immediately instead of later on.

[UIView performWithoutAnimation:^{  [self.myButton setTitle:text forState:UIControlStateNormal];  [self.myButton layoutIfNeeded];}];


This works for custom buttons:

[UIView setAnimationsEnabled:NO];[_button setTitle:@"title" forState:UIControlStateNormal];[UIView setAnimationsEnabled:YES];

For system buttons you need to add this before re-enabling animations (thank you @Klaas):

[_button layoutIfNeeded];


In Swift you can use :

UIView.performWithoutAnimation {    self.someButtonButton.setTitle(newTitle, forState: .normal)    self.someButtonButton.layoutIfNeeded()}