将iPad锁定在横向方向

时间:2015-08-02 13:34:11

标签: ios swift ipad sprite-kit

我有一款我只想在横向模式下玩的游戏。这对于iPhone来说很好,但对iPad来说不太好。我想我可以通过发布同一个应用程序的两个版本来解决这个问题,一个用于iPhone,另一个用于iPad。然而,经过进一步观察,我发现iPhone应用程序需要准备好iPad吗?我已经看到这个答案表明可以锁定iPad应用程序的方向:

Lock Ipad App in Landscape mode

在xCode和swift的更高版本中,这仍然是可能的,如果是这样,怎么样?

4 个答案:

答案 0 :(得分:4)

这是你能做的。在每个ViewController类的viewDidLoad方法中插入此代码。

if UIDevice.currentDevice().userInterfaceIdiom == .Pad {

            // this code will be executed if the device is an iPad
          override  func supportedInterfaceOrientations() -> Int {
              return UIInterfaceOrientation.LandscapeLeft.rawValue
         }

          override func shouldAutorotate() -> Bool {
                  return false
          }

    }

接下来会发生什么

  1. 执行viewDidLoad函数并评估if语句
  2. if语句的条件为true,因此应该执行块内的语句
  3. 第一个覆盖功能会将方向设置为landscapeleft。您可以将其更改为landscaperight
  4. 第二个功能将锁定方向旋转功能
  5. 注意:我更喜欢您将所有视图控制器嵌入到导航控制器中并将此导航控制器链接到一个类,然后在此类的viewDidLoad方法中编写我给您的代码。这将为此导航控制器中的所有视图进行配置,而不是在每个类中键入它们

答案 1 :(得分:3)

如果必须锁定所有屏幕以及iPhone和iPad的方向,您可以直接在Xcode中轻松实现相同的目标。

进入目标>常规>部署信息,然后选择所需的设备方向。请检查屏幕截图。 enter image description here

通过这种方式,启动图像

不会有任何问题

答案 2 :(得分:0)

我相信这可以在xcode中文件导航器顶部蓝色文件中的部署下信息中完成

答案 3 :(得分:0)

为什么不从info.plist的“支持的界面方向(iPad)”下删除您不喜欢的方向