2010-08-06 2 views
11

У меня есть UITableView, который является подзором UIView, а затем UIView является подзором UIScrollView. Как определить касания, которые должны прокручивать UITableView?Прокрутка UITableView внутри UIScrollView

UITableView может получать события выбора предметов (ячейка в таблице выбрана/постучена) просто отлично, за исключением того, что вы должны удерживать камеру перед ее срабатыванием. Но я не могу получить прокрутку UITableView, ее всегда UIScrollView, которая реагирует на жест панорамы.

Любая помощь очень ценится. Заранее спасибо!

EDIT: Решенный, хотя я задал неправильный вопрос. Он работает по умолчанию, как отметил Роман К. Я думаю, проблема была связана с тем, что она была частью UITableView за пределами UIScrollView (UITableView прошел нижние границы UIScrollView). Правильно установите его в UIScrollView.

+0

я хотел бы предложить этот ответ http://stackoverflow.com/questions/3422915/scrolling-a-uitableview-inside-a-uiscrollview/32486714#32486714 –

ответ

17

Пожалуйста, убедитесь, что UIScrollView's Свойства delaysContentTouches и canCancelContentTouches установлены соответствующим образом. Они контролируют, как экземпляр UIScrollView передает сенсорную информацию в свои подзоны. По умолчанию для delaysContentTouches установлено значение YES. Кроме того, убедитесь, что если вы расширили UIScrollView, touchesShouldBegin:withEvent:inContentView: разрешите касания в подвью.

В противном случае прокрутка по умолчанию будет работать по умолчанию в вашем сценарии. Если вы создадите тестовый проект с только иерархией представлений, как описано, вы увидите, что это так. Итак, сравните их и посмотрите, какая разница влияет на прокрутку.

+1

Я считаю, что я поставил delaysContentTouches (набор для YES) и canCancelContentTouches (установить в NO) просто отлично. Я могу получить краны в UITableView просто отлично, но не удары и сковородки. – Altealice

+0

Спасибо. Это было так долго. – thedp

+3

Я думаю, что эта логика сломана в iOS8. Похоже, UIScrollView перехватит вертикальные жесты прокрутки и не игнорирует их. Я опубликовал новый вопрос об этом - http://stackoverflow.com/questions/25558630/uiscrollview-behavior-is-different-in-ios8 – sha

Смежные вопросы