I have a custom cell with a few UIButtons in it. I have created Target Actions like so on the buttons:
[cell.customLocationButton addTarget:self action:@selector
Had the same problem. I could get the button to change color on highlight with setTitleColor:forState:
, but it didn't fade from highlight to normal state like the other system buttons.
Turns out that's because my button was of type UIButtonTypeCustom
. Switching it to UIButtonTypeSystem
solved it for me. Please note I'm running this on iOS9.
Here's a snippet (Swift) that assumes self
is a UIView
or subclass:
let button = UIButton(type: .System)
button.setTitle("Title", forState: .Normal)
button.sizeToFit() // Sizes the button frame based on the title.
addSubview(button)