iOS 16 swift 横屏适配

手动横屏方法

if #available(iOS 16.0,*) {

                let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene

                windowScene?.requestGeometryUpdate(.iOS(interfaceOrientations: .landscapeRight))

            } else {

                // Fallback on earlier versions

                UIDevice.switchNewOrientation(.landscapeRight)

            }

手动竖屏方法

        if #available(iOS 16.0,*) {

            let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene

            windowScene?.requestGeometryUpdate(.iOS(interfaceOrientations: .portrait))

        } else {

            // Fallback on earlier versions

            UIDevice.switchNewOrientation(.portrait)

        }

获取当前屏幕横竖屏状态:

        if #available(iOS 16.0,*) {

            let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene

            if (windowScene?.interfaceOrientation.isLandscape)! as Bool {

                //横屏

            }else {

                //竖屏

            }

        }

如果手动用代码强制横屏,与自动旋转手机屏幕横屏,两者有不生效的情况,可以执行以下代码,更新横竖屏状态。

        if #available(iOS 16.0,*) {

            self.setNeedsUpdateOfSupportedInterfaceOrientations()

        }

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...