iOS 让APP支持横竖屏

代码示例
  • Appdelegate添加属性(在Appdelegate.m中添加该属性)

      /** 是否允许横屏属性*/  
      @property (nonatomic,assign)BOOL isAllowRotation; 
    
  • 设置可以支持的方向(在AppDelegate.m中添加)

      - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(nullable UIWindow *)window{
          if (self.isAllowRotation) {
              return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
          }
          return UIInterfaceOrientationMaskPortrait;
      }
    
  • 设置控制横竖屏打开关闭的方法(在AppDelegate.m中添加)

      /** 允许横屏*/  
      - (void)setCanAllowRotation{  
          self.isAllowRotation =YES;  
      }  
    
      /** 禁止横屏*/  
      - (void)setCanNotAllowRotation{  
          self.isAllowRotation =NO;  
      }  
    
  • 在AppDelegate.h中声明两个方法

      /** 支持横屏接口,需要在view消失时设置为不支持,否则其他页面也会支持横屏*/  
      - (void)setCanAllowRotation;  
      /** 不支持横屏接口*/  
      - (void)setCanNotAllowRotation;  
    
  • 在pch文件中添加这部分代码

      /**  获得appdelegate*/  
      #define APPDELEGATE (AppDelegate *)[[UIApplication sharedApplication] delegate]  
    
      //不支持横屏  
      #define CANNOTSCALE AppDelegate * appDelegate = APPDELEGATE;[appDelegate setCanNotAllowRotation];  
      //支持横屏  
      #define CANSCALE AppDelegate * appDelegate = APPDELEGATE;[appDelegate setCanAllowRotation];  
    
代码说明
  • 需要在需要使用的viewController中的viewWillAppear中打开支持横竖屏,然后在viewWillDisAppear中关闭支持横竖屏,下面是调用展示

      - (void)viewWillAppear:(BOOL)animated{
          [super viewWillAppear:animated];
          CANSCALE
      }
    
      - (void)viewWillDisappear:(BOOL)animated{
          [super viewWillDisappear:animated];
          CANNOTSCALE
      }
    

相关推荐

  1. iOS APP支持横竖

    2024-05-10 10:38:12       26 阅读
  2. iOS 控制每个vc横竖

    2024-05-10 10:38:12       42 阅读
  3. iOS 横竖的正确打开姿势

    2024-05-10 10:38:12       39 阅读
  4. uniapp横竖配置

    2024-05-10 10:38:12       30 阅读
  5. uni-app解决video组件全时页面横竖错乱问题

    2024-05-10 10:38:12       101 阅读
  6. HarmonyOS ArkTS 横竖设置

    2024-05-10 10:38:12       44 阅读
  7. Android 横竖切换 窗口全

    2024-05-10 10:38:12       63 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-10 10:38:12       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-10 10:38:12       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-10 10:38:12       82 阅读
  4. Python语言-面向对象

    2024-05-10 10:38:12       91 阅读

热门阅读

  1. C++工厂模式

    2024-05-10 10:38:12       31 阅读
  2. iOS block处理button的点击事件

    2024-05-10 10:38:12       34 阅读
  3. Windows MySQL本地服务器设置并导入数据库和数据

    2024-05-10 10:38:12       29 阅读
  4. React 之 组件之间共享值useContext使用(十五)

    2024-05-10 10:38:12       36 阅读
  5. Node.js爬虫在租房信息监测与分析中的应用

    2024-05-10 10:38:12       32 阅读
  6. uniapp app端如何使用live-pusher实现camera效果

    2024-05-10 10:38:12       26 阅读
  7. 安卓uir转二维码保存本地

    2024-05-10 10:38:12       35 阅读
  8. 基本数据类型

    2024-05-10 10:38:12       29 阅读
  9. ora2pg 从Oracle迁移到opengauss

    2024-05-10 10:38:12       30 阅读
  10. SSH简介

    2024-05-10 10:38:12       31 阅读