【问题标题】:Stop only iPhone screen rotating in Universal Xcode 6 project在 Universal Xcode 6 项目中仅停止 iPhone 屏幕旋转
【发布时间】:2014-10-20 03:21:47
【问题描述】:

随着 Xcode 6 的推出,Apple 取消了在 Universal 应用程序中轻松为 iPad 和 iPhone 提供多个故事板的功能。因此,您无法在旋转面板/设置上区分 iPad 和 iPhone。

我怎样才能阻止 iPhone 应用旋转成横向,同时仍然允许 iPad 应用这样做。

这是你只能在代码中做的事情吗?如果是,我仍在使用 Objective C,而不是 Swift。

【问题讨论】:

    标签: objective-c iphone xcode6 universal screen-rotation


    【解决方案1】:

    删除所有其他答案的代码。转到您的 info.plist 文件并添加以下内容。

    • “支持的接口方向” - 数组
      • “纵向(底部主页按钮)” - 字符串
      • “纵向(顶部主页按钮)” - 字符串
    • “支持的界面方向 (iPad)”- 数组
      • “纵向(底部主页按钮)” - 字符串
      • “纵向(顶部主页按钮)” - 字符串
      • “横向(左主页按钮)” - 字符串
      • “横向(右主页按钮)” - 字符串

    【讨论】:

    • 原始键 - UISupportedInterfaceOrientations~ipad
    【解决方案2】:

    查看THIS的答案。

    基本上你必须在 UINavigationControllerUITabBarController 子类上实现 Chris1994 的答案>,然后将以下内容添加到您在该导航或选项卡控制器上拥有的第一个 UIVIewController 子类

    - (NSUInteger)supportedInterfaceOrientations
    {
        return UIInterfaceOrientationMaskPortrait;
    }
    

    【讨论】:

      【解决方案3】:
          - (NSUInteger) supportedInterfaceOrientations
          {
              NSString *device = [UIDevice currentDevice].model;
      
              if([device isEqualToString:@"iPhone"])
              {
                  return UIInterfaceOrientationMaskPortrait;
              }
              else
              {
              return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape;
              }
          }
      
      - (BOOL)shouldAutorotate
      {
      if([device isEqualToString:@"iPhone"])
        {
           return NO;
        }
        else
        {
            return YES;
        }
      }
      

      【讨论】:

      • 由于接收器未知 - '设备',构建失败。我已将它放在 ViewController.m 文件中。这是正确的吗?
      • @WillWoodruff 是的,但是很抱歉复制 NSString *device = [UIDevice currentDevice].model;进入布尔应该旋转
      • 虽然提供的代码不再产生任何错误,但它仍然无法停止旋转,有什么想法吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-29
      • 1970-01-01
      • 2012-02-22
      相关资源
      最近更新 更多