美文网首页
iOS_关于手机支持的屏幕方向

iOS_关于手机支持的屏幕方向

作者: LZM轮回 | 来源:发表于2016-06-13 22:39 被阅读174次

    设置支持的屏幕方向有两个级别,一个是app级别的,另一个是viewController级别的。

    app 级别的可以在[target]-[general]-[device orientation]里面设置,如下图:

    默认情况下Upside Down没有勾选,其他都勾选了。
    (为什么Upside Down不推荐勾选呢,因为iPhone的电话app是不支持Upside Down的,如果你的app支持Upside Down,万一用户在用你的app的时候Upside Down了,这时候来了电话,就会看到整个来电的画面是颠倒的,用户体验很不好。一向注重用户体验的苹果是不推荐你勾选Upside Down的)

    viewController级别的就是在各个viewController里面设置了。
    这里有一点需要注意,viewController的设置受app级别设置的限制,也就是viewController能够设置的屏幕方向只能是在app级别中勾选的一种或多种,没有勾选的是不能设置的。比如上面的Upside Down没有勾选,那么viewController也就不能设置Upside Down的方向。

    那么在viewController里面怎么设置屏幕方向呢?
    iOS6以前:
    [objc] view plain copy
    // 设置屏幕只支持竖向

    • (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
      {
      return (interfaceOrientation == UIInterfaceOrientationPortrait);
      }

    从iOS6开始,上面的方法已经被抛弃,有了3个新的方法:
    [objc] view plain copy 在CODE上查看代码片派生到我的代码片
    // 不支持屏幕旋转

    • (BOOL)shouldAutorotate
      {
      return NO;
      }

    // 只支持竖向

    • (NSUInteger)supportedInterfaceOrientations{
      return UIInterfaceOrientationPortrait;
      }

    // 画面一开始加载时就是竖向
    // - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    // return UIInterfaceOrientationPortrait;
    // }

    相关文章

      网友评论

          本文标题:iOS_关于手机支持的屏幕方向

          本文链接:https://www.haomeiwen.com/subject/lfaydttx.html