The most common reasons for a button to be completely unresponsive to touches are 1) if the button or any of its superviews have userInteractionEnabled set to NO, or 2) if one of the superviews has an incorrectly laid out frame such that the button is drawn outside the bounds. Since clipsToBounds is NO by default, subviews can be drawn outside the bounds but won't respond to touches.
Or, if it is responding to touches (highlights / unhighlights when touched, but nothing else happens) then you don't have your action hooked up properly.