2014-12-22 31 views
0

我有一個應用程序在UIPageViewController中有三個導航控制器。iOS pageviewcontroller禁用刷卡

           |-> Detail View 
         |-- nav 1 -> root view -| 
         |      |-> Search View 
UIPageViewController -|-- nav 2 -> root view 
         | 
         |-- nav 3 -> root view 

Nav 1,2和3都具有從那裏分支的視圖。問題是,一旦我打開其中一個導航控制器的子視圖,我仍然可以在3個獨立的導航控制器之間滑動。如果我的導航控制器> 1層深(細節或搜索視圖),我想禁用滑動。

回答

0

爲什麼有3個導航控制器?

將您的PageViewController放入您的NavigationController中。你不需要像這樣禁用你的滑動手勢。

但是,如果你真的想擁有這種架構,你可以刪除數據源。沒有dataSource,pageViewController不會幻燈片。再次設置dataSource以再次刷新。

// Methods of the data source are called in response to gesture-based navigation. 
// If the value of this property is nil, then gesture-based navigation is disabled. 
+0

因爲那麼所有三個視圖都有一個導航欄。我希望每個視圖都有一個導航欄。 – switz

+0

如果我把'dataSource'設置爲'nil',我得到這個錯誤:'***由於未捕獲異常'NSInternalInconsistencyException',原因:'無效的參數不令人滿意:[views count] == 3'' – switz

+0

It不應該發生......您是否在代碼中的某處創建了一個變量'views'?否則,請考慮使用* WOW *解決方案。您可以將gestureRecognizer保留在視圖中,並將「true」或「false」設置爲識別器的「enabled」屬性。 – Crazyrems

相關問題