【问题标题】:Disable rotation for iPhone but not iPad禁用 iPhone 而不是 iPad 的旋转
【发布时间】:2014-11-04 11:37:22
【问题描述】:

实现这一目标的最佳方法是什么?我正在使用具有通用尺寸类的 XIB(iphone 和 ipad 的 XIB 相同),但我只想锁定 iphone 的旋转。

【问题讨论】:

    标签: ios iphone xcode ipad xib


    【解决方案1】:

    可能的方向列表应该在 Info.plist 文件中,如果需要,您可以为 Ipad 和 Iphone 定义不同的值。看看下面的讨论:

    https://stackoverflow.com/a/24467576/3330421

    【讨论】:

      【解决方案2】:

      试试这个:

      对于低于 iOS 6 的版本:

      - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
      if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
              {
                  return NO;
              }
              else
              {
                  return YES;
              }
      }
      

      适用于 iOS 6+

      - (BOOL)shouldAutorotate
      {
          if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
          {
              return NO;
          }
          else
          {
              return YES;
          }
      }
      

      【讨论】:

      • 不幸的是,该方法已被贬值。
      • 编辑了答案。使用- (BOOL)shouldAutorotate
      • 我在 UINavigationController 上创建了一个类别,它可以工作,谢谢 :) 不过小问题,我的 alertViews 仍然旋转。
      • 当前的 API 是 UIDevice.userInterfaceIdiom
      猜你喜欢
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 2012-12-27
      • 2016-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      相关资源
      最近更新 更多