Ios 如何判断iPhone是否为;“面朝下”;或;“面朝上?”;?
我需要检测iPhone所面对的方向,以便在掉落时可以从无障碍摄像头(正面或背面)进行记录 这将在紧急情况下使用,手机被放下,或放置在活动摄像头无法记录任何有价值的东西的位置Ios 如何判断iPhone是否为;“面朝下”;或;“面朝上?”;?,ios,iphone,xamarin,Ios,Iphone,Xamarin,我需要检测iPhone所面对的方向,以便在掉落时可以从无障碍摄像头(正面或背面)进行记录 这将在紧急情况下使用,手机被放下,或放置在活动摄像头无法记录任何有价值的东西的位置 我可以使用什么API或技术来确定这一点?检查类的ProximityState属性。这将告诉您屏幕是否靠近某个对象(用户的脸,或平放在地面上) 对于较新的设备,您也可以使用。Z轴上的正值应与手机正面朝下的屏幕相对应。使用核心运动加速计。它报告重力方向,告诉你设备朝向哪个方向。我写了一个简单的函数来开始跟踪方向的变化,这样你就可
我可以使用什么API或技术来确定这一点?检查类的ProximityState属性。这将告诉您屏幕是否靠近某个对象(用户的脸,或平放在地面上)
对于较新的设备,您也可以使用。Z轴上的正值应与手机正面朝下的屏幕相对应。使用核心运动加速计。它报告重力方向,告诉你设备朝向哪个方向。我写了一个简单的函数来开始跟踪方向的变化,这样你就可以知道它是朝下还是朝上(或者你想要的任何方向):
用Swift 4编写,但该API自iOS 2.0+以来就可用。只有在用户解锁屏幕纵向方向时,此功能才有效。对于Swift4,使用UIDevice.OrientationIDChangeNotification而不是NSNotification.Name.UIDeviceOrientationIDChange作为通知名称。
func trackOrientationChanges() {
UIDevice.current.beginGeneratingDeviceOrientationNotifications()
NotificationCenter.default.addObserver(forName: UIDevice.orientationDidChangeNotification, object: nil, queue: nil, using:
{ notificiation in
if UIDevice.current.orientation == .faceDown {
print("Device is face down")
} else {
print("Device is not face down")
}
})
}