iOS 之屏幕旋转(iOS5和iOS6)

私募pp网-私募排行js逆向 在数据采集的学习过程当中,发现了一个有意思的网站,所以记录一下,仅供学习交流,用于其他用途与作者无关。目标:私募基金当中的列表页数据。 阅读详情
在iOS5.1 和 之前的版本中, 我们通常利用 shouldAutorotateToInterfaceOrientation: 来单独控制某个UIViewController的旋屏方向支持,比如:


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


但是在iOS6中,这个方法被废弃了,使用无效。

shouldAutorotateToInterfaceOrientation:

Returns a Boolean value indicating whether the view controller supports the specified orientation. (Deprecated in iOS 6.0. Override the supportedInterfaceOrientations andpreferredInterfaceOrientationForPresentation methods instead.)


实践后会发现,通过supportedInterfaceOrientations的单独控制是无法锁定屏幕的。


-(NSUInteger)supportedInterfaceOrientations  
{  
    return UIInterfaceOrientationMaskPortrait;  
}  


多次实验后总结出控制屏幕旋转支持方向的方法如下:

子类化UINavigationController,增加方法


- (BOOL)shouldAutorotate  
{  
    return self.topViewController.shouldAutorotate;  
}  
  
- (NSUInteger)supportedInterfaceOrientations  
{  
    return self.topViewController.supportedInterfaceOrientations;  
}  

并且设定其为程序入口,或指定为 self.window.rootViewController
随后添加自己的view controller,如果想禁止某个view controller的旋屏:(支持全部版本的控制)


- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
{  
    return (interfaceOrientation == UIInterfaceOrientationPortrait);  
}  
  
-(BOOL)shouldAutorotate  
{  
    return NO;  
}  
  
-(NSUInteger)supportedInterfaceOrientations  
{  
    return UIInterfaceOrientationMaskPortrait;  
}  




如果想又开启某个view controller的全部方向旋屏支持:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
{  
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);  
}  
  
-(NSUInteger)supportedInterfaceOrientations  
{  
    return UIInterfaceOrientationMaskAllButUpsideDown;  
}  
  
-(BOOL)shouldAutorotate  
{  
    return YES;  
}  


从而实现了对每个view controller的单独控制。

顺便提一下,如果整个应用所有view controller都不支持旋屏,那么干脆:


- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window  
{  
     return UIInterfaceOrientationMaskPortrait;  
}
K-L展开 (Karhunen-Loeve expansion) K-L变换 阅读详情

相关推荐

Triplet Loss调参实战:Margin选多少?距离函数用哪个?我的模型为什么训不动?

本文深入探讨了Triplet Loss调参中的关键问题,包括margin参数的选择、距离函数的比较以及模型训练不动的常见原因。通过实战案例和技术分析,提供了针对不同场景(如人脸识别、商品图像、文本匹配)的margin黄金区间,并对比了欧式距离与余弦相似度的适用场景。文章还介绍了困难样本挖掘的最新策略和模型诊断的实用清单,帮助开发者高效解决度量学习中的工程难题。

weixin_29050271的博客 410

iOS 小技巧之单个 ViewController 旋转

在 Android 中,我们如果想实现某个 Activity 支持或者不支持横竖屏切换,只需要在清单文件 AndroidManifest.xml 中配置一下即可,但是 iOS 却不是配置的,要稍微麻烦一丢丢,需要我们在代码中配置。我们的应用大部分是大部分界面只需要竖屏显示,某些特殊界面如视频播放、拍照等界面才需要支持旋转,所以我们只需要封装成应用默认竖屏,支持单个 ViewController 设置支持旋转即可。

禽兽先生不禽兽 1430

不用变压器也能联网?手把手教你PHY芯片直连的3种实用方案

本文详细介绍了PHY芯片直连的3种实用方案,帮助开发者在物联网设备中实现更经济、更精简的网络连接设计。通过分析电压驱动型和电流驱动型PHY的核心原理,提供具体的电路配置和优化建议,确保信号质量的同时节省成本和空间。

smartcontract5的博客 332

iOS6的旋屏控制技巧(单独控制某个UIViewController的旋屏方向支持)

在iOS5.1 和 之前的版本中, 我们通常利用 shouldAutorotateToInterfaceOrientation: 来单独控制某个UIViewController的旋屏方向支持,比如: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

IOS -Step by step 3164

cesium 高程数据使用

cesium 高程数据使用高程数据下载高程数据切片简单数据服务 高程数据下载 使用地理空间数据云平台免费提供的高程数据。地理空间云平台 点击列表中的下载得到数据压缩包。例如:ASTGTM2_N22E114.zip 高程数据切片 使用cesium实验室工具对下载得到的压缩包进行切片。cesium实验室 切片得到的文件夹目录。 简单数据服务 使用nodejs的koa启动简单的资源服务。koajs 项目根目录新建data文件夹,在新建dem文件夹放高程数据。 注意目录自行更换,这里是./data/dem

哎哟这个凉白白的博客 1811

再相逢【知识图谱】中文医学知识图谱CMeKG,中文产科医学知识图谱COKG | 附:图数据库Neo4j下载安装教学(遇到问题并解决) + Neo4j基本操作

本篇文章介绍知识图谱的相关知识。从便于理解的角度切入,给出知识图谱的形象化定义,并介绍了国内的中文医学知识图谱CMeKG,还以用户视角体验了中文产科医学知识图谱。目录二介绍了如何部署安装Neo4j数据库,并解决了部署过程中遇到的一些基础错误,随后介绍了Neo4j图数据库的基础操作。

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 2615

iOS强制改变物理设备方向的进阶方法

0x00 引入 苹果没有公开强制设置物理设备方向的方法。 SO上能找到的最多的方法是: NSNumber orientation = [NSNumber numberWithInt:targetOrientation]; [[UIDevice currentDevice] setValue:orientation forKey:@"orientation"] 这种方法使用KVO机制,间接

月亮之上 1596

【RT-DETR有效改进】利用MobileNetV3替换Backbone(轻量化网络结构,提点)

本文给大家带来的改进机制是,其主要改进思想集中在结合硬件感知的网络架构搜索(NAS)和NetAdapt算法,以优化移动设备CPU上的性能。它采用了新颖的架构设计,包括反转残差结构和线性瓶颈层,以及新的高效分割解码器Lite Reduced Atrous Spatial Pyramid Pooling(LR-ASPP),以提升在移动分类、检测和分割任务上的表现。实验表明,MobileNets在资源和准确性的权衡方面表现出色,并在多种应用(如对象检测、细粒度分类、面部属性识别和大规模地理定位)中展现了其有效性。

Snu77的博客 2748

ios的UIViewController中设置强制横屏

最近有个需求需要在webview加载的一个签字页面设置强制横屏,因为如果竖屏签字的话,名字是从上到下的,这里总结一下相关的知识和遇到的问题。因为整个app里面只有这个签字页面需要设置为横屏,别的页面都必须是竖屏的,所以【General】 中的【Device Orientation】设置为只支持竖屏然后在Controller的viewDidLoad中注册通知 //注册Device Orientati

u010101051的博客 6721

【推荐100个unity插件】unity易于使用模块化设计的天空、体积云和天气系统——Enviro 3

Enviro 3是一款功能强大的Unity天空与天气系统插件,提供动态天空、体积云、天气模拟等丰富功能。安装时需将预制体拖入场景并配置主相机,URP支持需激活深度纹理和添加渲染特性。模块化设计允许自由添加/移除时间、光照、雾效等模块,并通过API控制参数。推荐配合色调映射(如ACES模式)获得最佳视觉效果。插件支持季节、温湿度模拟及闪电风暴等特效,适用于需要逼真环境渲染的Unity项目。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2092

免ROOT、不刷机、不依赖Xposed实现Android改机的思路

最近在一个项目中需要模拟多种Android设备的环境。无奈市面上的大部分改机工具,要么需要ROOT权限,要么依赖Xposed,甚至还得重启设备。为了实现更灵活、更干净的改机方式,我开始了漫长的技术探索,最终找到了免ROOT、不刷机、拒绝Xposed的实现路径。Android_IDIMEI手机序列号手机型号、品牌、CPU型号等硬件信息GPS位置、Wi-Fi参数、通话记录、短信等软硬件数据这些信息通常用于标识设备唯一性,而改机就是对这些标识数据进行模拟或篡改。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2664

关于视频旋转shouldAutorotateToInterfaceOrientation,supportedInterfaceOrientations不调用问题

关于视频旋转shouldAutorotateToInterfaceOrientation,supportedInterfaceOrientations不调用问题 项目需求是某一个界面强制横竖屏,今天试了好多方法,看网上说的也没有解决我的问题,后来经过实验,成功解决,方法如下: 网上找了很多种说法,如下: 关于shouldAutorotateToInterfaceOrientation不执行问题 也...

weixin_38516906的博客 1698

HotSpot G1 GC 的分区记账、SATB 并发标记与停顿目标调优解析

线上GC毛刺该调停顿目标、加大新生代还是换收集器?本文从HotSpot G1的设计出发,梳理分区与巨型对象、卡表与记忆集、写屏障与细化线程、停顿预测、SATB并发标记、自适应IHOP、混合回收规则及Full GC兜底,并注明JDK8至JDK27的版本差异。文中在JDK8与JDK17上实测:停顿目标从200ms降到20ms,伊甸区缩小四成、P99下降但仍超目标;巨型对象会反复触发又撤销并发标记;JDK17并行Full GC平均停顿约为JDK8的三成。最后给出日志解读、参数清单、调优流程与选型。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 170万+

问题解决:iOS6下shouldAutorotateToInterfaceOrientation不起作用,屏幕旋转同时支持iOS5和iOS6

在iOS6下shouldAutorotateToInterfaceOrientation被弃用,现在iOS6下有三个新方法处理屏幕旋转: [plain] view plaincopy // 是否支持屏幕旋转   - (BOOL)shouldAutorotate {       return YES;   }   // 支持的旋转方向  

wildfireli的专栏 1761

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

如何同时支持IOS5和IOS6上的屏幕旋转?

转自:http://iliao.diandian.com/post/2013-02-21/40049597269 1.将addSubview修改为setRootViewController [window addSubview: viewController.view];修改如下: if ( [[UIDevice currentDevice].sy

Mr_Ray的IT专栏 1711

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

iOS 5.1及6.0 屏幕旋转的兼容问题

iOS 5.1及6.0 屏幕旋转的兼容问题: 在iOS6.0以前,由各个view的控制器(即viewController)使用各自的- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation;来控制view的旋转。但在iOS6.0中,将此方法废弃掉了:见官方文档说明:

wohaoxuexi的专栏 2843

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

iOS 屏幕旋转 及注意事项

一、屏幕旋转机制:    iOS通过加速计判断当前的设备方向和屏幕旋转。当加速计检测到方向变化的时候,屏幕旋转的流程如下:   1、设备旋转时,系统接收到旋转事件。   2、系统将旋转事件通过AppDelegate通知当前的主Window。   3、window通知它的rootViewController。     4、rootViewController判断所支持的

fhbystudy的专栏 2216

屏幕旋转动画及api事件 iphone

form:http://wenxin2009.iteye.com/blog/1681584 ios5旋转屏幕:(以下为关健代码,附件中有实例) 竖屏和横屏是两个不同的ViewController,在实现时需建两个viewController   //屏幕旋转 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfa

iPhone开发——Eating Apple,Earning dollars 4707

IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统) 【转】

概述: 在iOS6之前的版本中,通常使用 shouldAutorotateToInterfaceOrientation 来单独控制某个UIViewController的方向,需要哪个viewController支持旋转,只需要重写shouldAutorotateToInterfaceOrientation方法。 但是iOS 6里屏幕旋转改变了很多,之前的 shouldAutorotateToI

dabang_007的专栏 690

ios屏幕旋转

屏幕旋转 // ios 5、6都有这个方法 - (BOOL)shouldAutorotate{ returnYES; } //ios6有效 - (NSUInteger)supportedInterfaceOrientations{ returnUIInterfaceOrientationMaskLandscape; } //ios...

weixin_33757609的博客 76

iOS 屏幕旋转问题

http://blog.youkuaiyun.com/wudizhukk/article/details/8674393 self.interfaceOrientation或[[UIApplication sharedApplication] statusBarOrientation]  if (self.interfaceOrientation==UIDeviceOrientationLan

jeffasd的专栏 484

iOS屏幕旋转学习笔记

原文地址 http://foggry.com/blog/2014/08/08/ping-mu-xuan-zhuan-xue-xi-bi-ji/ 一、两种orientation 了解屏幕旋转首先需要区分两种orientation 1、device orientation 设备的物理方向,由类型UIDeviceOrientation表示,当前设备方向获取方式: 1

xiao_quan的专栏 871

屏幕旋转

IOS5以及之前的版本通常重写方法: // Applications should use supportedInterfaceOrientations and/or shouldAutorotate.. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOri

realyezi的博客 528

ios6/ios7 画面旋转的问题

为什么80%的码农都做不了架构师?>>> ...

weixin_34249678的博客 125

2014整理--屏幕旋转

一、屏幕旋转机制:    iOS通过加速计判断当前的设备方向和屏幕旋转。当加速计检测到方向变化的时候,屏幕旋转的流程如下:   1、设备旋转时,系统接收到旋转事件。   2、系统将旋转事件通过AppDelegate通知当前的主Window。   3、window通知它的rootViewController。     4、rootViewController判断所支持的

追梦 1125
上一篇: iOS 之地图上绘制运动轨迹
下一篇: iOS 之CoreText
Shicuf
博客等级 码龄16年 11粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值