import
UIKit
class
ViewController
:
UIViewController
{
@IBOutlet
weak
var
orientationLabel:
UILabel
!
override
func
viewDidLoad() {
super
.viewDidLoad()
//感知设备方向 - 开启监听设备方向
UIDevice
.currentDevice().beginGeneratingDeviceOrientationNotifications()
//添加通知,监听设备方向改变
NSNotificationCenter
.defaultCenter().addObserver(
self
, selector:
"receivedRotation"
,
name:
UIDeviceOrientationDidChangeNotification
, object:
nil
)
//关闭设备监听
//UIDevice.currentDevice().endGeneratingDeviceOrientationNotifications()
}
//通知监听触发的方法
func
receivedRotation(){
var
device =
UIDevice
.currentDevice()
switch
device.orientation{
case
.
Portrait
:
orientationLabel.text =
"面向设备保持垂直,Home键位于下部"
case
.
PortraitUpsideDown
:
orientationLabel.text =
"面向设备保持垂直,Home键位于上部"
case
.
LandscapeLeft
:
orientationLabel.text =
"面向设备保持水平,Home键位于左侧"
case
.
LandscapeRight
:
orientationLabel.text =
"面向设备保持水平,Home键位于右侧"
case
.
FaceUp
:
orientationLabel.text =
"设备平放,Home键朝上"
case
.
FaceDown
:
orientationLabel.text =
"设备平放,Home键朝下"
case
.
Unknown
:
orientationLabel.text =
"方向未知"
default
:
orientationLabel.text =
"方向未知"
}
}
}