2015-11-24 53 views
0

我有一个应用程序实现了分割视图控制器。我也有一个覆盖特征集合的设置,所以所有设备都设置为常规尺寸类(而不是iPhone的紧凑型)。如何关闭splitViewController中的主视图控制器

我也有一个在应用程序中允许用户切换“分割视图”的设置。这只是将targetDisplayModeForActionInSplitViewController的返回值从UISplitViewControllerDisplayModeAllVisible切换为UISplitViewControllerDisplayModeOverlay

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

我遇到的问题是,当显示模式设置为覆盖,当任何视图以编程方式加载时,主视图控制器不会折叠。我曾尝试用类似问题的代码解雇它,但是没有运气。有人知道怎么做这个吗?

回答

0

为其他有同样问题的人找出来。手动将首选显示模式设置为隐藏将自动隐藏视图控制器。在我的分割视图控制器类中,我简单地添加了

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

并在NSNotificationCenter中将其注册为观察者。每当我需要关闭视图控制器时,我只是调用该函数,它会隐藏它!

相关问题