2015-11-24 55 views
0

我有一個應用程序實現了分割視圖控制器。我也有一個覆蓋特徵集合的設置,所以所有設備都設置爲常規尺寸類(而不是iPhone的緊湊型)。如何關閉splitViewController中的主視圖控制器

我也有一個在應用程序中允許用戶切換「分割視圖」的設置。這只是將targetDisplayModeForActionInSplitViewController的返回值從UISplitViewControllerDisplayModeAllVisible切換爲UISplitViewControllerDisplayModeOverlay

我的大部分視圖控制器都是通過故事板中的segges加載的,但是有些是通過程序加載的(例如[self presentViewController ...])。

我遇到的問題是,當顯示模式設置爲覆蓋,當任何視圖以編程方式加載時,主視圖控制器不會摺疊。我曾嘗試用類似問題的代碼解僱它,但是沒有運氣。有人知道怎麼做這個嗎?

回答

0

爲其他有同樣問題的人找出來。手動將首選顯示模式設置爲隱藏將自動隱藏視圖控制器。在我的分割視圖控制器類中,我簡單地添加了

-(void)setDisplayModeHidden { 
    self.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryHidden; 
} 

並在NSNotificationCenter中將其註冊爲觀察者。每當我需要關閉視圖控制器時,我只是調用該函數,它會隱藏它!

相關問題