[Swift]判断和监听设备屏幕方向
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]判断和监听设备屏幕方向相关推荐
- js判断手机浏览器屏幕方向
/* js判断手机浏览器屏幕方向*/var direction = {__getOrientation: function () {if (window.orientation == 0 || win ...
- Android 判断屏幕方向一个大坑
正常的判断屏幕方向的代码: /** 获取屏幕是否是竖屏* @return*/@SuppressLint("SwitchIntDef")public boolean isScreen ...
- android获取键盘状态,Android获取屏幕方向及键盘状态的小例子
Android获取屏幕方向及键盘状态的小例子 复制代码 代码如下: Configuration config = getResources().getConfiguration(); if (conf ...
- Android 屏幕方向以及UI界面状态的保存
屏幕方向以及UI界面状态的保存 首先,基于android studio,先将虚拟手机的屏幕自动翻转打开 1.设置屏幕锁定 在Androidmanifests.xml文件中,设置 android:scr ...
- android系统之窗口横屏锁定以屏幕方向介绍
android源码中通过PhoneWindowManager.java来管理窗口的显示,为WMS的一个主要部分.其源码地址如下: frameworks\base\services\core\java\ ...
- Android通过屏幕方向和摄像头方向实现屏幕预览
Android通过屏幕方向和摄像头方向实现屏幕预览 1. 前言 2. Android 的屏幕方向 2.1 什么是屏幕方向 2.2 为什么要获取或设置屏幕方向 2.3 如何获取与设置屏幕方向 2.3.1 ...
- Swift iOS16 设置横竖屏方向
这里写一个兼容旧版ios的屏幕方向设置,实测了ios12.3 和 16.0.2是可以用的.做个笔记. 1.定义三个类型的屏幕模式设置. enum SCREEN_SET {case set_portca ...
- android+改变屏幕方向,Android改变手机屏幕朝向的方法
本文实例讲述了Android改变手机屏幕朝向的方法.分享给大家供大家参考.具体如下: 模拟当点击按钮时,使手机朝向发生改变. main.xml布局文件: android:orientation=&qu ...
- android 屏幕方向随传感器变化,并带有切换大屏,小屏和锁定屏幕方向
直接上完整代码: import android.content.pm.ActivityInfo; import android.content.res.Configuration; import an ...
最新文章
- ffmpeg 基本用法大全
- 二极管7种应用电路详解之三
- python fonttool_Python wx.Font方法代码示例
- apache zookeeper java_zookeeper启动报错java.net.NoRouteToHostException
- js二维数组arr中表示读取第i行第j列的是:_c++ c语言 数组与字符串
- 惯性矩和偏心距描述器
- 云上远程运维的最后那点担心,“云梯”帮你解决
- Linux jdk 环境变量配置
- Subarray Sum K
- android studio 4.0 去掉标题栏
- vivado 开发教程(三) 在SDK中创建应用工程
- 电脑端输入法的一些设置
- 产品优化策略,有效提升产品自身竞争力,我赌你一定没用过
- pytorch einsum, numpy einsum
- 微课堂v2 2.1.8以后分销设置就保存不了解决办法 微擎
- 考研数学复习建议与资料
- Vim中快速定位到某一行的方法
- mysql官网下载官网示例sql文件
- 浅谈华为EROFS文件系统的两个主要技术
- rk3288 android7.1 横竖屏切换(动画过度)
热门文章
- android 连接蓝牙键盘事件监听
- html编辑点击取消复原,vue点击编辑按钮,内容变成input可以修改,也可以删除
- web.config中的连接字符串 ---关于 providerName 特性
- Dotween Path 路径动画使用方法详解
- 学计算机网络的是理工男吗,工科男篇
- 20220512 | QQ文件管理 个人文件夹无法访问问题
- 【我的区块链之路】- golang实现主流查找算法
- 生日祝福小程序_热点丨小团团生日会享受史诗级牌面:DY官博更改头像送祝福!万达、西湖地贴屏显画面满满!...
- 堆栈向上增长和向下增长
- 2020新经济突围路线