iOS 判断屏幕方向锁定是否开启

本文主要介绍了如何在iOS中准确判断屏幕方向锁定是否开启,通过探究iPad的foregroundView属性在不同设备上的表现,以及为防止崩溃添加的分类来确定statusBar的成员变量。
摘要由CSDN通过智能技术生成

网上找了很多,都不是自己想要的

    func isProtraitLockOn() -> Bool {
        let app = UIApplication.shared
        var foregroundView: UIView?
        var cls: UIView.Type?
        let statusBar: UIView? = app.value(forKeyPath: "statusBar") as? UIView
        guard statusBar != nil else {
            return false
        }
        
        foregroundView = statusBar?.value(forKeyPath: "foregroundView") as? UIView
        if foregroundView == nil {
            let statusBarView = statusBar!.value(forKeyPath: "statusBar") as? UIView
            if statusBarView != nil {
                foregroundView = statusBarView!.value(forKeyPath: "foregroundView") as? UIView
            }
        }
        cls = NSClassFromString("_UIStatusBarImageView") as? UIView.Type
        
        var isOn = false
        for child in foregroundView?.subviews ?? [] {
           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值