Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disable highlighted UIControl state of a UIButton

I have a UIButton, I want to disable its UIControlStateHighlighted if the button is in selected state. With that I mean, if the current state of UIButton is ControlStateSelected then on touch down, its state should not change to highlighted which is the default behavior of a UIButton.

like image 519
Manish Ahuja Avatar asked May 03 '11 10:05

Manish Ahuja


2 Answers

[button setBackgroundImage:[UIImage imageNamed:@"button_image"]forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"button_image_selected"] forState:UIControlStateSelected];
[button setBackgroundImage:[UIImage imageNamed:@"button_image_selected"] forState:UIControlStateSelected | UIControlStateHighlighted];

Third line is the trick here, it will disable the highlighted state of UIButton if button is already in Selected State

like image 79
Manish Ahuja Avatar answered Oct 21 '22 12:10

Manish Ahuja


Uncheck "highlight adjusts image" in IB, Also make sure that button type is set CUSTOM in IB

like image 35
Muhammad Asad Avatar answered Oct 21 '22 12:10

Muhammad Asad