[IOS开发]重力感应判断屏幕状态-Swift

 varmotionManager:CMMotionManager?



 funcstartMotionManager(){

            ifmotionManager==nil{

        

                   motionManager=CMMotionManager()

        

                }

    

            ifmotionManager!.deviceMotionAvailable{

        

                   motionManager?.startDeviceMotionUpdatesToQueue(NSOperationQueue.currentQueue()!,withHandler:{(motion:CMDeviceMotion?,error:NSError?)in

            

                           self.handleDeviceMotion(motion)

            

                        })

        

                }

    

}



    funchandleDeviceMotion(deviceMotion:CMDeviceMotion?)->Void{

    

            letx:Double=(deviceMotion?.gravity.x)!

    

            lety:Double=(deviceMotion?.gravity.y)!

    

            iffabs(y)>=fabs(x){

        

                    ify>=0{

            

                           //UIDeviceOrientationPortraitUpsideDown

            

                            NSLog("竖屏")

            

                        }else{

                

                                 //UIDeviceOrientationPortrait

                

                                  NSLog("竖屏")

                

                            }

        

                }else{

            

                        ifx>=0{

                

                                //UIDeviceOrientationLandscapeRight

                

                                NSLog("横屏")

                

                            }else{

                    

                                     //UIDeviceOrientationLandscapeLeft

                    

                                      NSLog("横屏")

                    

                                }

            

                    }   

    

}




startMotionManager()//开始


motionManager?.stopDeviceMotionUpdates()//停止


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值