1. 判断设备方向

if UIDevice.current.orientation.isPortrait {print("竖屏")
}
if UIDevice.current.orientation.isLandscape {print("横屏")
}
if UIDevice.current.orientation.isFlat {print("水平")
}
if UIDevice.current.orientation.isValidInterfaceOrientation {print("设备朝向是有效的界面朝向")
}
switch UIDevice.current.orientation {
case .unknown:print("未知")
case .portrait:print("竖屏")
case .portraitUpsideDown:print("颠倒竖屏")
case .landscapeLeft:print("设备向左旋转横屏")
case .landscapeRight:print("设备向右旋转横屏")
case .faceUp:print("屏幕朝上")
case .faceDown:print("屏幕朝下")
default:break
}

2. 监听设备方向

deinit {// 移除通知NotificationCenter.default.removeObserver(self, name: UIDevice.orientationDidChangeNotification, object: nil)// 结束生成设备旋转方向通知UIDevice.current.endGeneratingDeviceOrientationNotifications()
}override func viewDidLoad() {super.viewDidLoad()// 开始生成设备方向通知UIDevice.current.beginGeneratingDeviceOrientationNotifications()// 监听 UIDevice.orientationDidChangeNotificationNotificationCenter.default.addObserver(self, selector: #selector(orientationDidChange), name: UIDevice.orientationDidChangeNotification, object: nil)
}@objc fileprivate func orientationDidChange() {switch UIDevice.current.orientation {case .unknown:print("未知")case .portrait:print("竖屏")setupGridView()case .portraitUpsideDown:print("颠倒竖屏")case .landscapeLeft:print("设备向左旋转横屏")setupGridView()case .landscapeRight:print("设备向右旋转横屏")setupGridView()case .faceUp:print("屏幕朝上")case .faceDown:print("屏幕朝下")default:break}
}

[Swift]判断和监听设备屏幕方向相关推荐

  1. js判断手机浏览器屏幕方向

    /* js判断手机浏览器屏幕方向*/var direction = {__getOrientation: function () {if (window.orientation == 0 || win ...

  2. Android 判断屏幕方向一个大坑

    正常的判断屏幕方向的代码: /** 获取屏幕是否是竖屏* @return*/@SuppressLint("SwitchIntDef")public boolean isScreen ...

  3. android获取键盘状态,Android获取屏幕方向及键盘状态的小例子

    Android获取屏幕方向及键盘状态的小例子 复制代码 代码如下: Configuration config = getResources().getConfiguration(); if (conf ...

  4. Android 屏幕方向以及UI界面状态的保存

    屏幕方向以及UI界面状态的保存 首先,基于android studio,先将虚拟手机的屏幕自动翻转打开 1.设置屏幕锁定 在Androidmanifests.xml文件中,设置 android:scr ...

  5. android系统之窗口横屏锁定以屏幕方向介绍

    android源码中通过PhoneWindowManager.java来管理窗口的显示,为WMS的一个主要部分.其源码地址如下: frameworks\base\services\core\java\ ...

  6. Android通过屏幕方向和摄像头方向实现屏幕预览

    Android通过屏幕方向和摄像头方向实现屏幕预览 1. 前言 2. Android 的屏幕方向 2.1 什么是屏幕方向 2.2 为什么要获取或设置屏幕方向 2.3 如何获取与设置屏幕方向 2.3.1 ...

  7. Swift iOS16 设置横竖屏方向

    这里写一个兼容旧版ios的屏幕方向设置,实测了ios12.3 和 16.0.2是可以用的.做个笔记. 1.定义三个类型的屏幕模式设置. enum SCREEN_SET {case set_portca ...

  8. android+改变屏幕方向,Android改变手机屏幕朝向的方法

    本文实例讲述了Android改变手机屏幕朝向的方法.分享给大家供大家参考.具体如下: 模拟当点击按钮时,使手机朝向发生改变. main.xml布局文件: android:orientation=&qu ...

  9. android 屏幕方向随传感器变化,并带有切换大屏,小屏和锁定屏幕方向

    直接上完整代码: import android.content.pm.ActivityInfo; import android.content.res.Configuration; import an ...

最新文章

  1. ffmpeg 基本用法大全
  2. 二极管7种应用电路详解之三
  3. python fonttool_Python wx.Font方法代码示例
  4. apache zookeeper java_zookeeper启动报错java.net.NoRouteToHostException
  5. js二维数组arr中表示读取第i行第j列的是:_c++ c语言 数组与字符串
  6. 惯性矩和偏心距描述器
  7. 云上远程运维的最后那点担心,“云梯”帮你解决
  8. Linux jdk 环境变量配置
  9. Subarray Sum K
  10. android studio 4.0 去掉标题栏
  11. vivado 开发教程(三) 在SDK中创建应用工程
  12. 电脑端输入法的一些设置
  13. 产品优化策略,有效提升产品自身竞争力,我赌你一定没用过
  14. pytorch einsum, numpy einsum
  15. 微课堂v2 2.1.8以后分销设置就保存不了解决办法 微擎
  16. 考研数学复习建议与资料
  17. Vim中快速定位到某一行的方法
  18. mysql官网下载官网示例sql文件
  19. 浅谈华为EROFS文件系统的两个主要技术
  20. rk3288 android7.1 横竖屏切换(动画过度)

热门文章

  1. android 连接蓝牙键盘事件监听
  2. html编辑点击取消复原,vue点击编辑按钮,内容变成input可以修改,也可以删除
  3. web.config中的连接字符串 ---关于 providerName 特性
  4. Dotween Path 路径动画使用方法详解
  5. 学计算机网络的是理工男吗,工科男篇
  6. 20220512 | QQ文件管理 个人文件夹无法访问问题
  7. 【我的区块链之路】- golang实现主流查找算法
  8. 生日祝福小程序_热点丨小团团生日会享受史诗级牌面:DY官博更改头像送祝福!万达、西湖地贴屏显画面满满!...
  9. 堆栈向上增长和向下增长
  10. 2020新经济突围路线