Подтвердить что ты не робот

Можно ли удалить задержку выделения UIButton в UIScrollView?

Я заметил небольшую задержку в выделенном состоянии UIButton при касании, если он находится в UIScrollView (или в виде таблицы). В противном случае выделенное состояние в значительной степени мгновенно.

Я предполагаю, что это должно быть по дизайну, чтобы дать возможность пользователю прокручиваться. Но мне кажется, что кнопка не отвечает мне. Есть ли способ исправить это?

4b9b3361

Ответ 1

Действительно, это выбор дизайна. Для этого требуется небольшое время, чтобы отличить свиток (panGesture) от крана. Если вы устраните эту задержку, пользователь не сможет прокручивать, если он поместит палец поверх кнопки, что не очень удобно.

Поскольку в представлении прокрутки нет полос прокрутки, он должен знать, указывает ли сенсорный сигнал на намерение прокрутки в сравнении с намерением отслеживать субвью в контенте. Чтобы сделать это определение, он временно перехватывает событие touch-down, запуская таймер и, прежде чем срабатывает таймер, видит, что трогательный палец делает любое движение. Если таймер срабатывает без значительного изменения положения, просмотр прокрутки отправляет события отслеживания в косвенное под просмотрное представление содержимого.

из Документация UIScrollView

Я бы не рекомендовал отключать задержку, но если вы настаиваете, вы можете установить его в построителе интерфейса (выберите "Просмотр прокрутки" и на правой панели, прямо под "Bounces Zoom" ) или с помощью этого кода:

scrollView.delaysContentTouches = false