I need to create button programatically with an image for normal and highlighted state as well text. I cannot build it using Interface Builder, because I need to create butt
You've made a mistake there, you're doing
[btn setBackgroundImage:buttonImage forState:UIControlStateNormal];
instead of
[btn setImage:buttonImage forState:UIControlStateNormal];
This will work fine.