监听屏幕方向
1使用通知中心捕捉手机方向的切换
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//通知中心,在此捕捉手机方向的切换
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.orientationChanged(_:)), name: NSNotification.Name.UIDeviceOrientationDidChange, object: nil)
}
2添加捕捉设备方向变化的事件,用来响应设备方向改变的事件
// 捕捉设备方向变化的事件,用来响应设备方向切换的事件
@objc func orientationChanged(_ notification: Notification){
// 获得当前运行中的设备
let deivce = UIDevice.current;
// 遍历设备方向,在控制台输出日志
switch deivce.orientation {
case .portrait:
print("屏幕垂直,home键向下")
case .portraitUpsideDown:
print("屏幕垂直,home键向上")
case .landscapeLeft:
print("屏幕水平,home键向右")
case .landscapeRight:
print("屏幕水平,home键向左")
case .faceUp:
print("设备平放,home键朝上")
case .faceDown:
print("设备平放,home键朝下")
default:
print("方向未知")
}
}