UIButton title color change on highlight - How to turn it off?
you can use
[UIButton setTitleColor:forState:]
for all the states , then title color will remain same for all states.
[button setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];[button setTitleColor:[UIColor redColor] forState:UIControlStateSelected];
Note:To avoide type or paste above code three times you can use following code suggested by Will,
[button setTitleColor:[UIColor redColor] forState:(UIControlStateHighlighted | UIControlStateNormal | UIControlStateSelected)];
As @null points out, by far the simplest way to do this is to set the button type in Interface Builder (or in code) to "Custom".
If you need to replicate this behavior with a standard button, override the setHighlighted
method to prevent the alpha channel of the titleLabel from adjusting too:
- (void)setHighlighted:(BOOL)highlighted{ [super setHighlighted:highlighted]; self.titleLabel.alpha = 1.0;}