2012-03-21 77 views
2

我有一个视图控制器,它是UIPageViewController的一部分。在这个视图控制器中,有一个叫做pdfView的视图。这个视图有一个UIScrollview。UIPageViewController和UIScrollView

-UIPageViewController 
    -UIViewController 
     -pdfView (UIView) 
      -UIScrollView 

我设置的pdfView手势识别是UIPageViewController的手势识别器(用于翻页)。唯一的问题是,如果用户通过捏放大放大滚动视图,则它们无法移动到滚动视图的右侧或左侧,因为页面转向。你建议我做什么来防止这种情况发生?谢谢。

pdfView.gestureRecognizers = self.pageViewController.gestureRecognizers; 
+0

设置视图控制器的gestureRecognizers而不是pdfView有点解决了这个问题(可以在整个UIScrollView中移动),但用户无法滑动以翻页(代码:viewController.view.gestureRecognizers = ...) – 2012-03-21 04:44:19

回答

2

试试这个, 而是采用了滚动型使用regural的UIView 加入这个新的UIView的UIPinchGestureRecognizer放大它和UIPanGestureRecognizer移动内容。 (你必须创建捏和平移动作,但你可以谷歌他们)

我做了类似的工作,唯一的问题是有时它检测页面刷卡,而不是视图泛,你可以解决的是迫使泛需要2次触摸。

如果你有疑问让我知道

4

我知道我的回答是公认的,但我已经tryed到我UIView更改为滚动视图,所有工作得更好。

当我缩放页面时,该页面的浏览手势停止工作,因此我可以放大和缩小,平移缩放图像而没有问题,并且当我缩放到初始缩放比例时,页面手势开始工作再次自动。

我在我的dataViewController中有一个全屏scrollerView和一个全屏screenView在scroller视图里面。

-UIPageViewController 
    -UIViewController 
     -UIView 
      -UIScrollView 
       -UIImageView 

所以,如果你想在它被放大,哟可以更改页面,你有锅之间进行选择缩放网页或与移动手势改变页面。 这是我在寻找的行为,在我的代码中我手动执行,但我要去换UIScrollView,因为UIScrollView平移和捏手势比我的效果好得多。

+0

我有完全相同的问题。你可以通过使用UIScrollView来了解你是如何实现解决方案的吗? – Remover 2012-12-03 12:46:56

+0

我只是做了我所说的,它没有任何改变。但它是每个页面的滚动视图,所以如果您处于2页模式,则可以单独缩放页面。只需在每个页面使用的viewController的视图内放置一个UIScrollView即可。 – jcesarmobile 2012-12-03 15:04:41

0

我做了这个库,使这一设置工作

-UIPageViewController 
    -UIViewController 
     -UIView 
      -UIScrollView 
       -UIImageView 

https://github.com/holyman2k/WXPagedPhotoView

我唯一的问题是,当用户放大照片时,pageviewcontroller平移手势被禁用,直到用户滚动边缘和重启平移。你有这种怪异的行为,用户放大照片,滚动到右手,然后滚动停止,然后用户再次滚动移动到下一页