2015-04-27 2 views
0

У меня есть scrollview, я встрою 3 контроллера внутри этого scrollView в раскадровку и страницу между ними по горизонтали.UIScrollView не передает касания к областям?

размера содержимого Scrollview является (scrollViewWith * numberOfControllers, scrollViewHeight) появляется

Scrollview и я могу прокручивать по горизонтали думали мнения, но мнения не обнаруживают какой-либо контакт. (Встроенные контроллеры имеют встроенные в них элементы управления)

Я реализовал touchhesBegin в одном из контроллеров, и его никогда не называют.

Любая идея, что может привести к тому, что scrollview не будет передавать касания в subviews?

ответ

0

Это не обязательно ответ на вопрос, почему сенсорные события не попадают в коллекции, но похоже, что вы переопределяете UIPageViewController с transitionStyle, установленным на .Scroll. Может, подумайте об использовании этого?

+0

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

+0

Звучит неплохо. Это не общий контроль, о котором все знают, поэтому я подумал, что попробую и избавлю вас от боли. :) – InkGolem

0

при добавлении вида на контроллер через встроенный Segue, вид на ViewController не добавляет непосредственно внутри главного вида, но он встроен в другом виде контейнера перед добавлением к основному зрению

ViewControllerView->EmbedView->EmbededViewControllerView 

Итак, я закончил тем, что удалил их оба, и вручную добавил представление viewControllers в scrollView

0

Какие виды просмотра у вас есть на каждой странице UIScrollView?

Вы можете добавить что-нибудь есть, например, UICollectionView, и единственный способ предотвратить не пропустить штрихи внутри оказывает установить UIScrollView как:

self.scrollView.userInteractionEnabled = NO; 
+0

«единственный способ предотвратить, чтобы не пропускать штрихи внутри, - это набор UIScrollView как ...», это не так, вы можете переопределить hitTest и ограничить касания. – aryaxt

+0

Да, вы правы, это другой способ :), но вы исправили свою проблему? – southfox

+0

Да, я провел целый день по такой глупой проблеме. Я опубликовал ответ ниже, это был контейнерView в раскадровке, который вызывал проблему :( – aryaxt

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