2014-01-28 4 views
0

У меня есть UIScrollView с другими элементами UIView внутри. Мои другие элементы UIView - это в основном сегментированные элементы управления. Если я нажму на UISegmentedControl и удерживаю в течение секунды, а затем попробую прокрутить, то прокрутки не произойдет. Я могу только прокручивать, когда мой палец прикасается и немедленно показывает. Я проверил другие приложения iOS, такие как почта. Поведение заключалось в том, что вы касаетесь и держите почту, затем она подсвечивается, но как только палец отходит, происходит прокрутка и выделение отменяется. Как я могу реализовать это поведение?Прокрутка не прокручивается при касании и удержании, а затем прокручивании

+0

Если вы добавили сегментированный контроль над прокруткой, вы можете добавить его по представлению контроллера. Он должен работать. –

ответ

0

Проблема была собственностью UIScrollView. Свойство canCancelContentTouches было установлено равным NO. Из-за этого события касания обрабатывались подзонами прокрутки, а прокрутка не вызывала прокрутки.

0

Вы можете воспользоваться одним из следующих шагов:

  1. Если вы используете UISegmentedControl над вами UIScrollView, вместо того, чтобы добавить UISegmentedControl над видом вашего контроллера.

  2. Если вы хотите использовать UISegmentedControl над вашим scrollView, тогда вам нужно создать собственный scrollView, создав подкласс UIScrollView и используя представление изображения вместо UISegmentedControl, добавив метки, которые могут действовать как сегменты. Это связано с тем, что ваш UISegmentControl сам является обработчиком касаний, и он прерывает цепочку UIResponder. Таким образом, прокрутка может столкнуться с проблемами во время сенсорных событий.

Пожалуйста, дайте мне знать, если какое-либо из этих работ. Спасибо :)

+0

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

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