2012-01-29 64 views
1

我完全以新來這個網站,但我已經喜歡它:-)禁用UIPageViewController時ModalViewController打開

我發現它通過搜索有關UIPageViewController問題。

我有一個正常的UIPageViewController應用程序,其中我打開設置一些設置的ModalViewController ...

現在的問題: :-)

如果我完成按鈕點擊ModalView的右側,關閉它,PageViewController翻頁,因爲他認爲他是指那個點擊;-)

只要我打開ModalView,我可以禁用PageViewController GestureRecognizer嗎?

是否有一種方法可以禁用並稍後識別器?

感謝您對您的幫助提前...

銅Matze

回答

2

這似乎很奇怪,你UIPageViewController將從呈現在它模態的視圖偷接觸。除非,也許你正在嵌入的模態視圖UIPageViewController的內容?

要回答你的問題 - 你可以很容易地通過枚舉其gestureRecognizers財產(一NSArray)禁用頁面視圖控制器的手勢識別:

for (UIGestureRecognizer *gr in [self.pageViewController gestureRecognizers]) { 
    [gr setEnabled:NO]; 
} 

setEnabled:YES後重新啓用。

UPDATE:

在iOS 6中UIPageViewControllerTransitionStyleScroll已被添加。使用此過渡樣式的UIPageViewController s在gestureRecognizers返回的數組中返回無手勢識別符。據推測頁面視圖控制器與這種過渡樣式使用底層,私人UIScrollView實例(它的行爲就像一個UIScrollView啓用分頁),雖然我沒有檢查過。

+0

不工作pageviewController的手勢識別器屬性返回空數組::( – Johnykutty 2013-03-12 08:32:04

+0

@Johnykutty當從「基於頁面的應用程序」模板在Xcode中創建一個新項目並在[[RootViewController viewDidLoad]中放置一個斷點時,新初始化的'pageViewController'''gestureRecognizers'屬性返回一個平移手勢識別器和一個水龍頭手勢識別器,我建議你自己的代碼可能還有其他錯誤,你正在檢查的對象肯定是'UIPageViewController'的有效實例? – Stuart 2013-03-12 08:40:52

+0

我發現只有當transitionStyle是UIPageViewControllerTransitionStyleScroll纔會發生這種情況。你知道任何方法來使用transitionstyle時禁用滾動UIPageViewControllerTransitionStyleScroll – Johnykutty 2013-03-12 08:52:35

相關問題