iOS 屏幕旋转

iOS屏幕旋转那些事     前些日子处理了一些关于页面中的屏幕旋转的事情,需要根据某个页面的不同旋转方向去做不同的处理,现在再次总结一下,以在心里有个系统的体系,也可以当成工具文章查询。    首先来看第一个方法:[UIDevice currentDevice].orientation        可以看到这个属性返回的是设备的物理方向,并且我们发现这个属性是只读的, UIDeviceOrientation 是硬件... 阅读详情

iOS6的旋屏控制技巧


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

 

 

  1. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
  2. {  
  3.     return (interfaceOrientation == UIInterfaceOrientationPortrait);  
  4. }  


 

但是在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的单独控制是无法锁定屏幕的。

 

  1. -(NSUInteger)supportedInterfaceOrientations  
  2. {  
  3.     return UIInterfaceOrientationMaskPortrait;  
  4. }  


 

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

子类化UINavigationController,增加方法

 

 

  1. - (BOOL)shouldAutorotate  
  2. {  
  3.     return self.topViewController.shouldAutorotate;  
  4. }  
  5.   
  6. - (NSUInteger)supportedInterfaceOrientations  
  7. {  
  8.     return self.topViewController.supportedInterfaceOrientations;  
  9. }  

并且设定其为程序入口,或指定为  self.window.rootViewController

 

随后添加自己的view controller,如果想禁止某个view controller的旋屏:(支持全部版本的控制)

 

  1. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
  2. {  
  3.     return (interfaceOrientation == UIInterfaceOrientationPortrait);  
  4. }  
  5.   
  6. -(BOOL)shouldAutorotate  
  7. {  
  8.     return NO;  
  9. }  
  10.   
  11. -(NSUInteger)supportedInterfaceOrientations  
  12. {  
  13.     return UIInterfaceOrientationMaskPortrait;  
  14. }  



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

 

 

  1. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
  2. {  
  3.     return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);  
  4. }  
  5.   
  6. -(NSUInteger)supportedInterfaceOrientations  
  7. {  
  8.     return UIInterfaceOrientationMaskAllButUpsideDown;  
  9. }  
  10.   
  11. -(BOOL)shouldAutorotate  
  12. {  
  13.     return YES;  
  14. }  


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

 


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

 

  1. - (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window  
  2. {  
  3.      return UIInterfaceOrientationMaskPortrait;  
  4. }  


转:http://blog.sina.com.cn/s/blog_7d98193401013d9f.html

把“思考”塞进 1 KB:我用纯 C 语言给单片机手搓了一个微型 Transformer 推理引擎 摘要:本文探讨了在64KB SRAM的MCU(如STM32H743)上部署精简Transformer模型的技术方案。通过将6层Transformer压缩至1层(隐藏维度128)、4-bit KV-Cache量化等优化手段,实现了240KB Flash占用和59KB RAM峰值,推理延迟184ms(400MHz Cortex-M7),准确率96.1%。关键创新包括:手工优化矩阵乘(CMSIS-NN)、查表法Softmax/LayerNorm、权重按Tile重排提升Cache命中率(60%→94%)。 阅读详情

相关推荐

实战解析:如何利用MDFEND与Weibo21数据集构建多领域假新闻检测系统

本文实战解析了如何利用MDFEND模型与Weibo21数据集构建多领域假新闻检测系统。文章深入剖析了MDFEND的领域门控与专家混合机制,并提供了从数据预处理、模型理解到训练部署的完整指南,旨在解决通用模型在不同领域新闻检测中的性能衰减问题,提升检测的准确性与适应性。

vulkan6gpu的博客 580

iOS应用横竖屏切换

一、概述:    在iOS应用中,由UIViewController来控制屏幕翻转,根据需要随设备方向自动切换。在iOS6和之前的系统之间,控制方法发生了些变化。二、视图伸缩属性:1.UIView类的autoresizingMask属性,用来指定当它的父视图frame发生变化时,自身frame的变化规则。此属性可以在XIB中设置,也可以直接用代码设置,具体用哪个看情况。可用值的具体含义如下:

有志者事竟成-程序员也可以创造优雅的艺术 1239

思岚A1 上手教程

前言 寒假在家闲着也是闲着,索性就向是实验室借了一个思岚 A1激光雷达,来进一步完成自己的实验室实习项目。经过一个月在Linux上和ROS上的摸爬滚打,我已经对机器人开发和SLAM有了初步了解,现在就写个上手教程吧(以防自己以后忘了)。 Basic Support 硬件 一台电脑 思岚 A1激光雷达 软件 安装Virtual Box虚拟机 在虚拟机安装Ubuntu 16操作系统 在Ubuntu 16搭建ROS kinetic 简要步骤 1.现在w..

ajxdhe的博客 6382

设备方向,视图控制器方向和视图方向,监测与设置,以及相互之间的关系

设备方向 视图控制器方向 视图方向

realyezi的博客 1541

双向晶闸管交流调压基础知识及Multisim电路仿真

本文介绍了双向晶闸管交流调压电路的工作原理及应用。该电路由双向晶闸管、RC移相电路和双向触发二极管组成,通过调节电位器改变触发角实现电压调节。当电位器阻值减小时,触发角减小,输出电压升高;阻值增大时,触发角增大,输出电压降低。Multisim仿真展示了不同电位器档位下的波形特征:0%档位时全导通,50%档位时半导通,100%档位时基本关断。该电路结构简单、调节平滑,广泛应用于调光、调速等场合,但会产生谐波干扰。

XU157303764的博客 837

MTK-Display技术解析:从MDP到DDP的架构演进

本文深入解析了联发科(MTK)显示技术从MDP到DDP的架构演进。MDP作为多媒体数据预处理中心,负责格式转换与缩放;而DDP则整合了OVL、COLOR、AAL等模块,并引入CMDQ与场景化模式,实现了从分散处理到统一智能调度的飞跃,旨在提升画质、流畅度并降低功耗。

weixin_29218509的博客 253

iOS页面旋转详解

前言 在iOS开发中,如果APP需要支持横屏,就要控制页面旋转,但是让页面支持旋转的方式有很多,在此总结一下,说一下我对页面旋转的理解。 思路 控制页面旋转的方式可以总结为两种,第一种是通过全局设置来控制,第二种是页面自己单独控制。 1.修改全局设置来实现 第一种是通过勾选方向让页面支持旋转。 第二种是通过修改info.plist文件Supported interface orientatio...

weixin_34127717的博客 407

解密QtIFW高级配置:用XML+JS打造品牌化安装界面(含动态水印/多语言技巧)

本文深入探讨了如何利用Qt Installer Framework(QtIFW)的高级配置功能,通过XML和JavaScript打造专业、品牌化的软件安装界面。文章详细解析了企业级项目目录结构设计、模块化配置文件编写、CSS样式表深度定制、动态水印实现以及智能多语言许可证管理等核心技巧,旨在帮助开发者超越基础打包,为Windows和Linux平台构建具有卓越用户体验的安装程序。

read5的博客 528

iOS 屏幕旋转的实践解析

摘要:如何更灵活便捷的实现自定义屏幕旋转场景,本文带你揭秘! 文|即构 iOS 应用开发团队 屏幕旋转是在视频直播类 APP 中常见的场景,在即构科技之前发布的 Roomkit SDK 中也有屏幕跟随手机自动旋转的场景。 在 Roomkit SDK 自身开发和客户接入的过程中我们也会发现,实现屏幕旋转的需求往往没有那么顺利,经常会出现无法旋转、旋转后布局适配等问题。 本篇文章根据我们以往的开发经验整理了屏幕旋转实现的相关实践方法,解析在实现过程中遇到的常见问题。 一、快速实现旋转

ZEGO即构科技 1981

GaN制备micro-led(一)

随着第三代半导体 GaN 材料的快速发展,GaN 基 LED 发展迅速并广泛商业化,这 为可见光通信的实现及应用提供了基础。然而,普通商用 LED 的调制带宽只有几十兆 赫兹,并不能很好的满足可见光通信系统高传播速率的需求。为增大调制带宽,针对发 射端 LED 光源部分的改进仍需提高。将光子晶体结构引入 LED 芯片量子阱内部,能够 影响光子寿命和光子传播,进而改变 LED 芯片的调制带宽和光提取效率。结合倒装微 尺寸(Micro)LED 结构,使其封装体积最小化,这使得可见光通信能够更加灵活地.

weixin_45852211的博客 895

TriCore架构-基于TC397的启动流程

TC397芯片的启动流程分为三个关键阶段:固件启动(BootFirmware)、Bootloader引导和应用程序启动。BootFirmware作为硬件信任根,包含SSW基础初始化、CHSW自检和BSL应急刷写通道。Bootloader承担安全验证和程序引导功能,支持双分区(AB-SWAP)和双引导方案(PBL/SBL)。安全启动通过校验机制确保软件完整性,提供三种可选技术方案。应用程序启动阶段实现软件双分区管理,支持SOTA更新。整个流程体现了汽车电子系统的安全设计理念,通过硬件级保护与软件验证相结合确保

xiandang8023的博客 987

iOS 设置横屏导致崩溃!

0x00 *** Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'preferredInterfaceOrientationForPresentation 'landscapeLeft' must match a supported interface or...

豪冷的博客 2998

6.6kW的车载充电器(On-Board Charger, OBC)电路分析

图片展示了6.6kW的车载充电器(On-Board Charger, OBC)电路,其中包含双向和单向两种拓扑结构。接下来我们将深入分析每个模块的设计、原理及其优势,以帮助理解不同结构在实际应用中的选型和应用。

weixin_43199439的博客 5649

iOS 屏幕旋转问题总结

1、两个Orientation1.1设备的物理方向(UIDeviceOrientation) typedef NS_ENUM(NSInteger, UIDeviceOrientation) { UIDeviceOrientationUnknown, UIDeviceOrientationPortrait, // Device oriented verticall

sinat_29301173的博客 4536

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

iOS 屏幕旋转 单个屏幕旋转

闲来无事研究了一下屏幕旋转的问题 说到屏幕旋转问题不得先说一句,做项目尽量还是优先使用storyboard、IB因为有了autolayout的约束布局为基础再去做屏幕旋转需要的视图布局适配就相对来说简单容易很多。 好了,闲话不多说,开始今天要说的问题。 首先,想要实现单个屏幕旋转有两个重要的方法需要在viewcontroller里重写// New Autorotation support. /

Jesse0308的博客 691

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

iOS屏幕旋转

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { //屏幕将要转到时执行 if (self.interfaceOrientation == UIInterfaceOrientationLa

4039

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

iOS开发 - 适应iOS13之屏幕旋转

用Xcode11打开一个工程,发现原来检测屏幕旋转的方法,已经出现告警,被禁用了。IOS13的坑还真是不少,还是改吧! 按照警告的提示。屏幕旋转使用以下方法,为省事,就用最简单的屏幕宽高,来判断横屏还是竖屏,但有两个小坑需要注意。 注意:首先定义一对全局变量,screenWidth和screenHeight。没用过约束,一般都用屏幕尺寸来调整控件位置,个人的习惯。 (1)在模拟器...

yu_tian_jian的博客 2544

iOS 监听手机屏幕旋转

监听屏幕旋转 首先所要监听的NSNotificationName是UIApplicationDidChangeStatusBarOrientationNotification而非UIDeviceOrientationDidChangeNotification,因为UIDeviceOrientationDidChangeNotification在应用进入后台applicationDidEnterBa...

weixin_42174559的博客 2039

IOS屏幕旋转监听

1.设计窗口,添加三个按钮。先添加三个IBAction。3.按钮点击事件实现。实现IBAction。4.监听屏幕旋转事件。

1841

ios 旋转屏幕试图切换_iOS 让部分ViewController支持屏幕旋转

首先,在Xcode里设置整个项目支持的屏幕显示方向:然后创建一个UINavigationController的子类,然后重载以下属性:对于需要自定义屏幕方向的ViewController,重载这个属性之后返回需要设定的屏幕方向参数即可。在shouldAutorotate属性中判定哪个ViewController可以支持自动旋转;在supportedInterfaceOrientations属性中判...

weixin_39971172的博客 524

iOS6以上屏幕旋转详解

屏幕旋转的研究理由: 因为本人从事视频类的iOS开发工作,经常项目中经常会遇到需要在不同的页面对屏幕方向进行控制,例如正常的列表页面都只支持竖屏不能旋转,而播放页面需要能够控制旋转 : - 手动点击全屏进入全屏并保持全屏不自动旋转; - 旋转屏幕能够屏幕能够自动旋转。 相信很多人也在屏幕旋转上遇到过不同的疑惑与阻碍,下面介绍实现方式,以及遇到的坑。 屏幕旋转基础 我们能

猪猪的思维有点长的博客 1116

IOS屏幕旋转适配

原文地址:http://blog.anbig.com/2019/08/24/ios屏幕旋转适配/ 一、最让人纠结的三种枚举 二、两种屏幕旋转的触发方式 三、屏幕旋转控制的优先级 四、开启屏幕旋转的全局权限 五、开启屏幕旋转的局部权限 (视图控制器) 六、实现需求:项目主要界面竖屏,部分界面横屏 七、默认横屏无效的问题 八、关于旋转后的适配问题 九、APP 启动即全屏 刚开始接触屏幕旋转这块知识...

Gary的面包屑小道 1733

iOS屏幕旋转及其基本适配方法

屏幕旋转示例.jpeg 前段时间抽空总结了一下iOS视频播放的基本用法,发现这其中还有一个我们无法绕过的问题,那就是播放界面的旋转与适配。的确,视频播放与游戏类型的App经常会遇到这个的问题。由于至今接手的项目中不常涉及这块知识疏于总结,在搜索了一些资料后也发现都很散乱,所以决定在这里重新整理一下。 目录 一、最让人纠结的三种枚举 二、两种屏幕旋转的触发方式 三、屏幕旋转控制的优先级 四、开启屏幕旋转的全局权限 五、开启屏幕旋转的局部权限(视图控制器) 六、实现需求:项目主要界面竖屏,部分界面横屏..

u013712343的博客 2832

iOS 屏幕旋转控制

今天主要给大家讲一下在iOS开发中怎样控制屏幕的旋转。 在iOS6之前的版本中,我们经常用 shouldAutorotateToInterfaceOrientation: 方法来控制一个UIViewController的旋转方向支持,如: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfa

蓝色-_-贝壳的专栏 414

IOS6屏幕旋转问题总结 .

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

_听雨眠的专栏 1081
上一篇: 学习笔记- AVFoundation Programming Guide - Still and Video Media Capture
下一篇: iOS 推送
直隶码农
博客等级 码龄19年 95粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值