此文写于2022年08月03日,距离iOS16正式版推出还有一个多月的时间,iOS16 beta版本有很多API的修改,今天讨论的是屏幕旋转,基于Xcode 14.0 beta4
之前的屏幕旋转会报错:
[Orientation] BUG IN CLIENT OF UIKIT: Setting UIDevice.orientation is not supported. Please use UIWindowScene.requestGeometryUpdate(_:)

那我们看看 UIWindowScene.requestGeometryUpdate(_:) 怎么使用呢?

- (void)requestGeometryUpdateWithPreferences:(UIWindowSceneGeometryPreferences *)geometryPreferences errorHandler:(void (^)(NSError *error))errorHandler;

找到 Method 看到需要入参 UIWindowSceneGeometryPreferences *


UIWindowSceneGeometryPreferences 也是新增的API,很明显 UIWindowSceneGeometryPreferencesIOS 才是我们需要的。

- (instancetype)initWithInterfaceOrientations:(UIInterfaceOrientationMask)interfaceOrientations;

UIWindowSceneGeometryPreferencesIOS 有个实例方法传入一个枚举UIInterfaceOrientationMask ,到这就算摸清API使用的脉络了。

iOS16.0+ 横屏代码:

        if (@available(iOS 16.0, *)) {[self setNeedsUpdateOfSupportedInterfaceOrientations];[self.navigationController setNeedsUpdateOfSupportedInterfaceOrientations];NSArray *array = [[[UIApplication sharedApplication] connectedScenes] allObjects];UIWindowScene *scene = (UIWindowScene *)array[0];UIWindowSceneGeometryPreferencesIOS *geometryPreferences = [[UIWindowSceneGeometryPreferencesIOS alloc] initWithInterfaceOrientations:UIInterfaceOrientationMaskLandscape];[scene requestGeometryUpdateWithPreferences:geometryPreferenceserrorHandler:^(NSError * _Nonnull error) {NSLog(@"wuwuFQ:%@", error);}];} else {}

iOS16.0:屏幕旋转相关推荐

  1. wince6.0 屏幕旋转

    最近做了一个wince下屏幕旋转的测试. 我实现的效果是一个基于wince的应用程序, 显示区域有个button,  每按一次这个button,屏幕会旋转90度. 这个东东我调了整整三天, 中间遇到很 ...

  2. Android 6.0 屏幕旋转

  3. android功能导航布局,安卓9.0新功能 屏幕旋转将与导航栏同窗

    中关村在线消息:今天早些时候谷歌向开发者们推送了Android P(也称安卓9.0)的首个开发者预览版,在原先8.0的基础上进一步改进了通知栏,也为刘海屏幕专门进行了优化.意味着未来"刘海& ...

  4. Android 7.0 获取相机拍照图片,适配三星手机拍照,解决三星手机拍照屏幕旋转,判断设备是否有摄像头

    方法1 新建/res/xml/file_paths: <?xml version="1.0" encoding="utf-8"?> <path ...

  5. Android 9.0 系统设置显示主菜单添加屏幕旋转菜单实现旋转屏幕功能

    1.前言 在android9.0的系统rom定制化开发中,在对系统设置进行定制开发中,有产品需求要求增加旋转屏幕功能的菜单,就是在点击旋转屏幕菜单后弹窗显示旋转0度,旋转 90度,旋转180度,旋转2 ...

  6. Android 12.0 系统设置显示主菜单添加屏幕旋转菜单实现旋转屏幕功能

    1.前言 在android12.0的系统rom定制化开发中,在对系统设置进行定制开发中,有产品需求要求增加 旋转屏幕功能的菜单,就是在点击旋转屏幕菜单后弹窗显示旋转0度,旋转 90度,旋转180度, ...

  7. iOS传感器:实现一个随屏幕旋转的图片

    作者 非典型技术宅 关注 2017.05.24 17:22* 字数 1568 阅读 351评论 7喜欢 14 在写上一个动画系列的时候学到了非常多的知识,也认识了很多人.例如受邀进入了某个神秘的动效组 ...

  8. Android开发实践:屏幕旋转的处理

    最近开发Android Camera相关的程序,被屏幕旋转搞得头大,一方面得考虑屏幕旋转后布局的变化,另一方面得搞清楚屏幕的旋转方向.角度与Camera的Preview角度的关系.本来通过重载Acti ...

  9. 【Android RTMP】NV21 图像旋转处理 ( 问题描述 | 图像顺时针旋转 90 度方案 | YUV 图像旋转细节 | 手机屏幕旋转方向 )

    文章目录 安卓直播推流专栏博客总结 一. NV21 图像格式与 Camera图像传感器方向问题 二. NV21 图像格式视频旋转 1. 图像旋转问题及解决方案 ( 顺时针旋转 90 度 ) 2. NV ...

最新文章

  1. 如何在 Linux 上用 Markdown 编写电影剧本
  2. 【设计模式】面向对象 - 多态 ( 面向对象 3 要素 | 多态 提升 程序扩展性 | 多态示例 )
  3. ros创建功能包和编译过程问题处理
  4. 2022年全球及中国面粉混合物行业发展态势与消费需求前景调查报告
  5. 全国计算机等级考试题库二级C操作题100套(第88套)
  6. 这些Intel Atom处理器千万别升Windows 10创意者更新:不兼容
  7. Effective C++学习第十一天
  8. java线程实现及线程池的使用
  9. 余世维《职业经理人常犯的错误》[文字版]
  10. [转载]JUnit3 与 JUnit4 的区别
  11. 和小哥哥一起刷洛谷(6) 图论之SPFA算法
  12. CentOS 迁移SVN以及可视化管理工具iF.SVNAdmin
  13. 基于java的密码字典生成
  14. 你的放大器是否可能自激振荡?
  15. 影评系统的机遇和挑战
  16. SLAM总结(一)- SLAM原理概述与简介
  17. 高质量的外链怎么去挖掘?
  18. 手机dpi修改工具_手机dpi修改器app下载-手机dpi修改工具官方版 v1.0_5577安卓网
  19. 摄像头8mm可以看多远_视频监控摄像头焦距、角度、距离参考值
  20. TerraBuilder 操作制作MPT

热门文章

  1. 生活随记 - 2020国庆第二天
  2. DB2也可以PINNED
  3. 坚果云企业版服务器端,坚果云团队版和企业版的区别
  4. 【强化学习论文精读】Timeliness Guaranteed Traffic Flow Forecasting Based on Federated Online Learning
  5. 实现LZW字典压缩算法
  6. 【教程】非常好用!一键彻底关闭Win10自带Windows Defender杀毒软件
  7. 意念控制头环:用脑电波来操控智能家居
  8. 用python画分段函数图像_使用Python的matplotlib画出一个分段函数的图像
  9. 题解报告——Sandy的卡片
  10. [bzoj4698][SDOI2008]Sandy的卡片