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