OrientationTracker 是一个基于 Core Motion 的库,用于跟踪设备方向变化。它也适用于开启了方向锁定功能的书。您可以订阅方向变化通知并做出相应反应。
需求
- iOS 8.0+
- Xcode 10.0+
- Swift 4.2+
用法
要开始跟踪设备方向,请使用 OrientationTracker
并调用 startDeviceOrientationTracking
方法,最好在 AppDelegate
中进行
DeviceOrientationDetector.shared.startDeviceOrientationTracking()
然后,添加 OrientationTracker.deviceOrientationChangedNotification
的观察者,并响应方向变化
NotificationCenter.default.addObserver(self, selector: #selector(updateViews), name: DeviceOrientationDetector.deviceOrientationChangedNotification, object: nil)
您可以通过 currentDeviceOrientation
属性访问当前方向。
要停止接收通知,请使用 stopDeviceOrientationTracking
方法
DeviceOrientationDetector.shared.stopDeviceOrientationTracking()
如果您的应用只支持纵向模式,您可以使用 affineTransform
属性在方向改变时旋转视图
UIView.animate(withDuration: 0.2) {
self.imageView.transform = DeviceOrientationDetector.shared.affineTransform
}
示例
要运行示例项目,请克隆存储库,然后首先从示例目录中运行 pod install
安装
estudo-xuexi
gångliupod 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它:
$ gem install cocoapods
要使用 CocoaPods 将 OrientationTracker 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
target '<Your Target Name>' do
pod 'OrientationTracker'
end
然后,运行以下命令:
$ pod install
作者
许可证
OrientationTracker 根据 MIT 许可证授权。有关详细信息,请参阅 LICENSE 文件。