У меня есть UITableView
, который является подпредставлением UIView
, тогда UIView
является подпредставлением UIScrollView
. Как определить касания, которые должны прокручивать UITableView
?
UITableView
может получать события выбора элементов (ячейка в таблице выбирается / выбирается) просто отлично, за исключением того, что Вы должны удерживать камеру, прежде чем она срабатывает. Но я не могу заставить прокручивать UITableView
, это всегда UIScrollView
, который реагирует на жест панорамирования.
Любая помощь очень ценится. Заранее спасибо!
РЕДАКТИРОВАТЬ:
Решено, хотя я задал не тот вопрос. Он работает по умолчанию, как указал Роман К. Я думаю, что проблема была связана с тем, что часть UITableView
вышла за границы UIScrollView
( UITableView
перешла нижние границы UIScrollView
). Установка его для правильного размещения внутри UIScrollView
исправила его.
Пожалуйста, убедитесь, что свойства UIScrollView
delaysContentTouches
и canCancelContentTouches
установлены должным образом. Они управляют тем, как экземпляр UIScrollView передает информацию о касаниях своим вложенным видам. По умолчанию delaysContentTouches
имеет значение YES. Также убедитесь, что, если вы расширили UIScrollView
, touchesShouldBegin:withEvent:inContentView:
разрешает касания в подвью.
В противном случае, UITableView
прокрутка должна работать по умолчанию в вашем сценарии. Если вы создадите тестовый проект только с иерархией представлений, как описано, вы увидите, что так оно и есть. Итак, сравните эти два варианта и посмотрите, какая разница влияет на скроллинг.