У меня есть приложение для iPhone / iOS, в котором есть кнопки UIB (обычные, с текстовыми метками; пользовательская графика не используется), которые при нажатии помещают новый UIViewController в стек UINavigationController.
Кнопки косвенно отображаются в UIScrollView; все они находятся непосредственно в другом UIView, который создается во время выполнения, а затем этот UIView добавляется в UIScrollView.
Проблема: когда пользователь нажимает одну из этих кнопок, в большинстве случаев кнопка не отображается как выделенная, хотя и выполняется правильное действие (соответствующий контроллер представления помещается в стек).
Если я установлю обнаружение нажатия на использование TouchUpInside, а не TouchDown, то если пользователь удерживает кнопку нажатой в течение короткого времени (возможно, полсекунды), кнопка отображается как выделенная, но при использовании TouchDown она выделяется редко и в любом случае я бы предпочел, чтобы выделение отображалось, даже если пользователь просто слегка нажимает кнопку.
Я исследовал этот сайт и другие, чтобы найти ответы, и попробовал различные подходы, которые я нашел, предлагаемые для борьбы с подобными проблемами. Наиболее вероятным ответом, казалось, было присвоение свойству delaysContentTouches значения NO для UIScrollView, но это не сделал заметной разницы в моем заявлении. Действительно, ничего, что я нашел удовлетворительно, не ответило на вопрос.
Есть идеи? ...