强制iPad应用程序即使在纵向方向显示splitView(如设置iPad应用程序)

Vin*_*Vin 4 iphone ipad ios4 ios-4.2

我正在尝试开发一个基于splitView的iPad应用程序,它在每个方向显示拆分界面.我已经尝试了教程中给出的UISplitViewController类的子类,但它不起作用.我尝试创建一个要设置的类别_hidesMasterViewInPortrait = (hidden) ? 0 : 1;,正如上面博客中的一条评论中所建议的那样,但没有任何效果.

任何人都可以帮助我找到一种方法,而不使用任何第三方框架或类?

ccw*_*den 14

在iOS8(Swift)中,使用:

splitViewController.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible
Run Code Online (Sandbox Code Playgroud)


Aar*_*her 13

在实现UISplitViewControllerDelegate协议(通常是DetailViewController)的viewController类中,添加以下代码.

- (BOOL) splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation {   
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

根据文档,这已经从iOS 5开始提供.

要看到它的实际效果: -
打开Xcode.
- 创建一个新的主/细节应用程序.
- 将以上代码添加到
iPad模拟器中的DetailViewController -Run.

在自己的项目,你会希望下面的行添加到detailViewController的viewDidLoad方法.

self.splitViewController.delegate = self;
Run Code Online (Sandbox Code Playgroud)

  • 对于iOS 8,将SplitViewController的preferredDisplayMode设置为AllVisible (2认同)