2012-03-21 41 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平移手勢被禁用,直到用戶滾動邊緣和重啓平移。你有這種怪異的行爲,用戶放大照片,滾動到右手,然後滾動停止,然後用戶再次滾動移動到下一頁

相關問題