2012-10-08 52 views
1

我正在開發iOS 6應用程序,它永遠不會被提交到App Store。如何使用'滾動'過渡樣式來請求兩個手指在UIPageViewController的頁面之間滾動?

我試圖使用UIPageViewController來允許用戶在四個不同的視圖控制器之間從左到右滑動。這很好,但爲了讓每個視圖控制器能夠正常的單指交互,我想要兩個手指在UIPageViewController的頁面之間滑動。

該文檔建議我應該能夠通過自定義gestureRecognizers我的UIPageViewController屬性中找到的UIGestureRecognizer對象來完成此操作。但是,當transitionStyle設置爲UIPageViewControllerTransitionStyleScroll時,此屬性似乎是空數組。

如果我將transitionStyle更改爲UIPageViewControllerTransitionStylePageCurl該屬性包含UIGestureRecognizer對象,我可以隨意自定義它們。

是否有任何(記錄或其他)方式來實現我想要使用滾動過渡類型?

+0

它對我來說似乎是一個bug,UIPageViewController應該至少有一個gestureRecognizer,因爲它對手勢做出了響應。我剛剛測試過,你是對的,它會返回一個空數組。 – jcesarmobile

回答

2

UIPageViewController.h有如下評論:

// Only populated if transition style is 'UIPageViewControllerTransitionStylePageCurl'. 
@property(nonatomic, readonly) NSArray *gestureRecognizers; 

不知道爲什麼它不是在文檔。

3

我已經解決了這個代碼,如果它解決了你的問題。 UIPageViewController與滾動的過渡與一個UIScrollView是控制器的主視圖的孩子實現,UIScrollViewController有用於處理鍋做的觸摸一個panGesture屬性:

for (UIView* view in [editor.view subviews]) { 
    if ([view isKindOfClass:[UIScrollView class]]) 
    { 
     UIScrollView* scrollView = (UIScrollView*)view; 
     scrollView.panGestureRecognizer.minimumNumberOfTouches = 2; 
    } 
} 

這解決了這個問題!