2013-07-02 33 views
1

我正在使用UIPageViewControllers的客戶端項目上工作。使用UIPageViewController與嵌入式segue

該應用程序具有用戶導航到的「集合」視圖控制器的層次結構(在本例中)包含包含內容頁面的頁面視圖控制器。

我的設計是讓「集合」視圖控制器的層次結構是UIViewController的自定義子類,它知道如何使用客戶端所需的UI來管理子視圖控制器的集合。

顯示頁面視圖控制器的我的視圖控制器是我的父集合視圖控制器的子類,並且該父視圖控制器類可能會管理頁面視圖控制器,封面流式視圖控制器,表視圖控制器或各種其他。

好吧,所以我不能讓我的視圖控制器管理頁面視圖控制器的父視圖控制器和UIPageViewController的子類。

這是一個iOS 6項目,所以我決定讓我的視圖控制器包含一個使用嵌入segue的頁面視圖控制器。無痛地處理父母/孩子視圖控制器的管家,或者我想。

但是,客戶端需要在視圖控制器中進行頁面捲曲轉換,並且您似乎無法在初始化後更改頁面視圖控制器的轉換,也不能指定導航方向,書脊位置等。

嗯。似乎我在一個捕獲22.

有沒有人知道的方式來使用嵌入segue嵌入頁面視圖控制器作爲另一個視圖控制器的孩子,並控制你使用initWithTransitionStyle獲得的設置:navigationOrientation:options:?

在這一點上,我可能需要放棄嵌入segue並手動管理父/子視圖控制器的關係,這是相當數量的工作,尤其是當您處理從父到子的轉發自動輪換和其他消息時。

回答

4

好的,問題解決了。

有一些UIPageViewController的IB設置可以讓你控制過渡風格,導航方向和選項。

的問題是,當我在父視圖控制器中創建一個容器視圖,IB創建了一個通用的UIViewController的孩子,我改變了它的類型來UICollectionViewController。當我這樣做時,這些設置保留了通用UIViewController的設置。

我不得不刪除IB創建的通用子UIViewController,將UIPageViewController場景拖入故事板,然後從集合視圖控制拖動到我的新UIPageViewController並選擇「embed」作爲我想要的segue的類型。當我這樣做時,它給了我需要的設置。

+0

謝謝,這是它! – Marchy