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多分区自适应宽度layout
macos·ios·cocoa
YJlio3 小时前
TrollStore(巨魔商店)介绍及操作手册
macos·objective-c·cocoa
mywpython4 小时前
mac 最新的chrome版本配置selenium的方式
chrome·python·selenium·macos
布多5 小时前
Tagged Pointer:苹果工程师的内存优化艺术
ios·源码
Rudon滨海渔村7 小时前
新旧iPhone相册复制 - 相册图片视频对拷 - 换机 - 迁移设备数据 - 免费开源爱思助手
ios·iphone
一道微光7 小时前
mac air m系列arm架构芯片安装虚拟机 UTM+debian 浏览器firefox和chrome
arm开发·macos·架构
打工人你好10 小时前
libimobiledevice项目中各个库的作用
macos·objective-c·cocoa
1alisa16 小时前
Sublime Text for Mac v4【注册汉化版】代码编辑器
macos·编辑器·sublime text
qq_3680196620 小时前
Mac下Ollama安装与设置:开启本地大模型之旅
macos
清晨細雨21 小时前
UniApp集成极光推送详细教程
android·ios·uni-app·极光推送