iOS16.0:屏幕旋转

这篇具有很好参考价值的文章主要介绍了iOS16.0:屏幕旋转。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

此文写于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(_:) 怎么使用呢?

ios 16屏幕旋转api,# iOS开发笔记,xcode,ios,objective-c,ios16

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

找到 Method 看到需要入参 UIWindowSceneGeometryPreferences *

ios 16屏幕旋转api,# iOS开发笔记,xcode,ios,objective-c,ios16
UIWindowSceneGeometryPreferences 也是新增的API,很明显 UIWindowSceneGeometryPreferencesIOS 才是我们需要的。

ios 16屏幕旋转api,# iOS开发笔记,xcode,ios,objective-c,ios16

- (instancetype)initWithInterfaceOrientations:(UIInterfaceOrientationMask)interfaceOrientations;

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

iOS16.0+ 横屏代码:文章来源地址https://www.toymoban.com/news/detail-655238.html

        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:geometryPreferences
                errorHandler:^(NSError * _Nonnull error) {
                NSLog(@"wuwuFQ:%@", error);
            }];
            
        } else {

		}

到了这里,关于iOS16.0:屏幕旋转的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IOS开发-XCode14介绍与入门

    iOS开发工具一直有个毛病,就是新版本的开发工具的总会有一些奇奇怪怪的bug。比如在我的Mac-Pro(2.3 GHz 八核Intel Core i9)中iOS stimulator就无法使用(MyMac是可用的)。但是真机就可以正常使用。也不知道是XCODE14是只对本家M系芯片的优化导致Intel用不了还是咋的,很是苦恼。

    2024年02月13日
    浏览(31)
  • mac电脑 安装 ios开发工具xcode步骤 以及新建ios项目

            在Mac电脑上安装Xcode,苹果公司的官方iOS开发工具,以及新建iOS项目,以下是详细步骤:         安装Xcode 1. 打开Mac上的App Store。 2. 在搜索栏中输入“Xcode”。 3. 从搜索结果中找到Xcode,点击“获取”按钮。 4. 输入您的Apple ID和密码,然后点击“安装”按钮。

    2024年02月20日
    浏览(39)
  • iOS开发Swift-1-Xcode创建项目

    1.创建项目 双击Xcode App,选择Create a new Xcode project。  选择创建一个iOS普通的App项目。选择Single View App,点击Next。  填写项目名,组织名称等,点击next。  选择好文件的存储路径,点击create。  2.为前端添加组件 点击Main,选中View,在右下角show the Object library中找到label组件,

    2024年02月10日
    浏览(28)
  • iOS开发之Xcode常用调试(Debug)技巧

    上面也提到了,在我们日常的开发过程中最常⻅的Debug方式就是打Log。而在OC语言中,打Log是采用NSLog方 法。但是NSLog效率低下,具体原因可以看这篇博客( NSLog效率低下的原因及尝试lldb断点打印Log)。所 以在平时的开发过程中,能不打Log就不打Log。实在想打Log网上也有对NSLog的一

    2024年02月04日
    浏览(49)
  • MacOS 14 系统 XCode15、 Flutter 开发 IOS

    MacOS14 Sonoma 安装 Flutter 开发环境 MacOS 系统 Flutter开发Android 环境配置 MacOS 系统 Flutter开发IOS 环境配置​​​​​​​ 前面我们已经在MacOS14 M3芯片上安装好 Flutter环境,包括开发工具 VsCode 、Android Stuiod,那么flutter如何开发IOS呢? 我们知道IOS开发语言为 objcet-c或者 swift,Flutter是

    2024年02月03日
    浏览(55)
  • TiggerRamDisk绕过激活锁,屏幕锁隐藏工具新增 W in7 win 10版本,支持最新 iOS16.3系统

    TiggerRamDisk这是一款可以绕过激活锁、屏幕锁界面完美隐藏的工具,也可以解决手机或者平板无法激活的问题,支持最新的IOS14.0-iOS16.3系统,支持Windows10以上和MacOS环境苹果系统使用。 目前支持的型号: 需要工程线 iPhone:SE16S6SP iPad Air2 (A1566 A1567) iPad Mini4 (A1538 A1550) iPad 5 20

    2024年02月16日
    浏览(30)
  • iPhone开发--Xcode15下载iOS 17.0.1 Simulator Runtime失败解决方案

    爆句粗口,升级后公司网络下载iOS 17.0.1 Simulator Runtime一直出错,每次出错后都得重新开始下载,oh,f**k。上一次在在家里的网络升级成功。 进入网址:https://developer.apple.com/download/all/ 之后找到iOS 17.0.1 Simulator Runtime,点击下载,这个通过浏览器下载。 之后在命令行运行下面的

    2024年02月08日
    浏览(44)
  • iOS开发进阶(六):Xcode14 使用信号量造成线程优先级反转问题修复

    应用 Xcode 14.1 进行项目编译时,遇到以下错误提示,导致APP线程暂停。 以上问题是由于iOS信号量造成线程优先级反转,在并发队列使用信号量会可能会造成线程优先级反转。 经过查询资料,发现是在 XCode14 上增加了工具,比如 : Thread Performance Checker ( XCode14 上默认开启的)

    2024年02月01日
    浏览(50)
  • iOS 16.4后 Safari 开发中不能调试Web页面

    项目中有WKWebView, iPhone和模拟器 升级到16.4后 不能使用Safari 调试? 以前挺好的为啥现在不行了? 这时候有两个方案, 第一, 使用低版本模拟器 16.2 16.0 等都可以. 第二, 设置 inspectable (OC), isInspectable (Swift) ---------------------- 官方文档 isInspectable | Apple Developer Documentation 简单的说,在

    2024年02月15日
    浏览(40)
  • iOS16系统手机设置开启开发者模式才能安装ipa包

    在 iOS 16 以后的苹果系统对安全操作有更进一步的要求, 在安装 adhoc 类型的 ipa 包完毕后, 点击对应的 app 时, 用户会发现如下提示: 此时需要您打开 iOS 中新增的开发者模式, 具体打开方式如下: 进入 “设置” - “隐私与安全性” - 下滑到最底部, 在\\\"安全性\\\"里找到 “

    2024年02月13日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包