代码如下:
import UIKit
class ViewController: UIViewController {
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)//通知中心是专门供程序中,不同类间的消息通信而设置的,
}
/*
新建一个捕捉设备方向变化的方法,用来响应设备方向切换的事件
*/
@objc func orientationChanged(_ notification: Notification) {
let device = UIDevice.current//获得当前运行中的设备
switch device.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键朝下")
case .unknown:
print("方向未知")
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}