适用于iPhone的纵向方向和适用于iPad的横向方向的通用应用程序

时间:2015-01-05 15:05:34

标签: iphone ipad swift ios-universal-app

我正在使用Swift创建一个Universal应用程序。我使用了Storyboard和Auto-Layouts。要求是创建一个通用应用程序,它仅支持iPhone的纵向方向和仅适用于iPad的横向方向。

我为iPhone开发了UI,现在我将启动iPad UI。

为iPhone创建的UI与为iPad创建的UI不同,两者的UI都完全不同。

我正在考虑为iPhone和iPad创建单独的故事板。有没有正确的方法来实现这个目标?

3 个答案:

答案 0 :(得分:80)

转到info.plist文件并添加一个包含“支持的界面方向(iPhone)”键的数组,并在其中添加以下值:

  1. 人像(底部主页按钮)
  2. 同样,添加另一个数组“支持的界面方向(iPad)”并添加以下内容:

    1. 人像(底部主页按钮)
    2. 风景(左主页按钮)
    3. 风景(右主页按钮)
    4. 见下文: enter image description here

答案 1 :(得分:1)

如果您只将应用程序部署到iOS 8,那么我会使用一个故事板。使用一个屏幕更简单。这是一个很棒的教程的链接。 http://www.raywenderlich.com/83276/beginning-adaptive-layout-tutorial
如果你像我一样想要定位到iOS 6,那么我会使用单独的故事板。对于您决定使用的任何内容,绝对坚持使用自动布局。不要忘记我们必须开始支持64位。祝你好运!

答案 2 :(得分:0)

如果要为特定的ViewController设置此设置(允许在iPad上全部使用,而在iPhone上仅允许纵向设置),请将其放入ViewController类(Swift 4):

override var supportedInterfaceOrientations:UIInterfaceOrientationMask {
    return UIDevice.current.userInterfaceIdiom == .pad ? UIInterfaceOrientationMask.all : UIInterfaceOrientationMask.portrait
}