UIPageViewController и UIScrollView - PullRequest
       47

UIPageViewController и UIScrollView

3 голосов
/ 21 марта 2012

У меня есть контроллер представления, который является частью UIPageViewController.В этом контроллере представления есть представление, называемое pdfView.Это представление имеет UIScrollview.

-UIPageViewController
   -UIViewController
        -pdfView (UIView)
            -UIScrollView

Я установил распознаватели жестов pdfView в качестве распознавателей жестов UIPageViewController (для переворачивания страницы).Единственная проблема заключается в том, что, если пользователь увеличивает масштаб прокрутки, сжимая его, он не может перемещаться вправо или влево от представления прокрутки, потому что вместо этого страница переворачивается.Что вы предлагаете мне сделать, чтобы этого не случилось?Спасибо.

pdfView.gestureRecognizers = self.pageViewController.gestureRecognizers;

Ответы [ 3 ]

5 голосов
/ 31 мая 2012

Я знаю, что мой ответ принят, но я попытался изменить свой UIView на scrollView, и все работает лучше.

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

В моем dataViewController есть представление, полноэкранный scrollerView.и полноэкранное изображение в окне прокрутки.

-UIPageViewController
   -UIViewController
        -UIView
            -UIScrollView
                -UIImageView

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

3 голосов
/ 21 мая 2012

Попробуй это, вместо использования прокрутки используйте обычный UIView Добавьте к этому новому UIView UIPinchGestureRecognizer, чтобы увеличить его, и UIPanGestureRecognizer, чтобы переместить содержимое. (вам нужно создать действия для увеличения и панорамирования, но вы можете использовать их в Google)

Я сделал нечто похожее и работал, единственная проблема - иногда он обнаруживает пролистывание страницы вместо панорамы просмотра, которую можно решить, заставляя панораму требовать 2 касания.

Если у вас есть сомнения, дайте мне знать

0 голосов
/ 19 февраля 2014

Я сделал эту библиотеку, которая заставляет эту установку работать

-UIPageViewController
   -UIViewController
        -UIView
            -UIScrollView
                -UIImageView

https://github.com/holyman2k/WXPagedPhotoView

Единственная проблема, с которой я сталкиваюсь, - когда пользователь масштабирует фотографию, жест панорамирования контроллера просмотра страниц отключается до тех пор, пока пользователь не прокрутит край и не возобновит панорамирование. у вас есть такое странное поведение, когда пользователь увеличивает масштаб фотографии, прокручивает до самой правой руки, затем прокрутка останавливается, затем пользователь снова прокручивает, чтобы перейти к следующей странице

...