iOS-横竖屏管理,支持所有方向旋转时用代码控制允许旋转&不允许旋转

简介: iOS-横竖屏管理,支持所有方向旋转时用代码控制允许旋转&不允许旋转

前一段时间做了一个视频的项目,在视频播放时要用到横屏,但是设置了允许横屏,其他的界面也会横屏,而我的项目是不适配横屏的,有人会说,设置只支持竖屏,在需要横屏的界面通过代码来控制横屏,这是一个办法,我在这里说的是另一种办法,首先,在Appdelegate里面加入下面这段代码:

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    if (self.allowRotation) {
        return UIInterfaceOrientationMaskAll;
    }
    return UIInterfaceOrientationMaskPortrait;
}

同时记得在.h文件中加入属性:

@property(nonatomic,assign)BOOL allowRotation;

然后你可以设置允许任何方向旋转。

在一个界面需要旋转时用Appdelegate的单例来实现:

记得引入Appdelegate的头文件

    AppDelegate *appdelegate=(AppDelegate *)[UIApplication sharedApplication].delegate;
    appdelegate.allowRotation=YES;

退出界面时还要进行一步操作,要把appdelegate.allowRotation置NO,好了,这样就满足了我们的要求。

大家不妨自己是一试吧。


说完这个,我们来说一下刚才提到的另一种方法,一共有这几个方法:

//设置为YES允许旋转,可以不设置下面的,但是一定要支持横竖屏才行,但往往不会这么设置,因为会对整个项目产生影响,而我们需要横屏的界面就那么几个。(需要横屏的一定要设为YES,否则即使设置下面的也是不能横屏的)
-(BOOL)shouldAutorotate
{
    return YES;
}
//iOS6以后才有的方法,替换了下面的方法,目前设置的是横屏运行,如果做unity的话,就是这样,前提是xcode中要勾选横屏选项,否则会直接崩溃的
-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}
//在iOS6被废弃了,由上面的方法所取代
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationMaskLandscape);
}

要想对屏幕方向旋转还是要自己各个方法都去试一下的,相信试过对他的了解就会更深,就知道该怎么用了。

目录
相关文章
|
6月前
|
移动开发 安全 数据安全/隐私保护
iOS 全局自动化代码混淆工具!支持 cocoapod 组件代码一并混淆
iOS 全局自动化代码混淆工具!支持 cocoapod 组件代码一并混淆
|
6月前
|
移动开发 前端开发 数据安全/隐私保护
【工具】iOS代码混淆工具-iOS源码混淆
【工具】iOS代码混淆工具-iOS源码混淆
72 1
|
6月前
|
移动开发 前端开发 安全
最强大的 iOS 应用源码保护工具:Ipa Guard,保护你的商业机密代码
最强大的 iOS 应用源码保护工具:Ipa Guard,保护你的商业机密代码
|
1月前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异:从代码到用户体验
【10月更文挑战第5天】在移动应用开发的广阔天地中,安卓和iOS两大平台各占半壁江山。它们在技术架构、开发环境及用户体验上有着根本的不同。本文通过比较这两种平台的开发过程,揭示背后的设计理念和技术选择如何影响最终产品。我们将深入探讨各自平台的代码示例,理解开发者面临的挑战,以及这些差异如何塑造用户的日常体验。
|
6月前
|
Android开发 iOS开发 开发者
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
408 0
|
6月前
|
缓存 开发工具 iOS开发
优化iOS中Objective-C代码调起支付流程的速度
优化iOS中Objective-C代码调起支付流程的速度
103 2
|
6月前
|
监控 API Swift
用Swift开发iOS平台上的上网行为管理监控软件
在当今数字化时代,随着智能手机的普及,人们对于网络的依赖日益增加。然而,对于一些特定场景,如家庭、学校或者企业,对于iOS设备上的网络行为进行管理和监控显得尤为重要。为了满足这一需求,我们可以利用Swift语言开发一款iOS平台上的上网行为管理监控软件。
273 2
|
6月前
|
移动开发 安全 数据安全/隐私保护
iOS 代码混淆和加固技术详解
iOS 代码混淆和加固技术详解
|
6月前
|
移动开发 前端开发 数据安全/隐私保护
iOS 代码混淆 - 从入门到放弃
iOS 代码混淆 - 从入门到放弃
|
6月前
|
移动开发 安全 前端开发
iOS代码混淆工具
iOS代码混淆工具
107 1