I have noticed a slight delay on the highlighted state of a UIButton when touched down if it is inside a UIScrollView (or a table view). Otherwise, the highlighted state is pretty much instantaneous.
I surmise this must be by-design to provide a chance for user to scroll. But it just seems like the button is unresponsive to me. Is there a way to fix this?
Indeed, it’s a design choice. It needs this small time to differentiate a scroll (panGesture) from a tap. If you eliminate this delay, then the user won’t be able to scroll if he places the finger on top of the button, which is not good user experience.
from the UIScrollView Documentation
I wouldn’t recommend disabling the delay, but if you insist, you can set it in interface builder (select the Scroll View, and on the right panel, right under “Bounces Zoom”), or using this code: