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

来源:互联网 发布:快手直播人气软件 编辑:程序博客网 时间:2024/06/17 21:23

 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()//停止