XZ_iOS 之监听屏幕方向

使用系统通知 orientationDidChangeNotification  获取屏幕方向,前提是:手机不能设置强制竖屏,如果设置了强制竖屏,是不会调用这个通知的。本文是在用户手机设置了强制竖屏的情况下,将用户竖屏录制的视频,根据屏幕旋转方向,将视频旋转成横屏显示。比如:如下图,拍摄的视频/图片是横着拍的

无论是摄像头在左边/右边/上边/下边拍摄的视频或图片,在播放视频或显示图片的时候,如下图显示:

代码实现

屏幕旋转方向监听,使用 CoreMotion 每隔一秒钟获取一次视频的方向,视频方向改变时,发送通知。

import Foundation
import CoreMotion

class XZDeviceOrientation: NSObject {
    
    private let sensitive = 0.77
    
    private let motionManager = CMMotionManager()
    
    private var direction: UIInterfaceOrientation = .portrait
    
    // 每隔一个间隔做轮询
    func start() {
        
        print("------走了start")
        
        motionManager.deviceMotionUpdateInterval = 1.0
        
        if motionManager.isDeviceMotionAvailab
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值