UIMotionEffect 和 CoreMotion 有何不同?
How are UIMotionEffect and CoreMotion different?
我非常享受 UIMotionEffect
子类比听 CMMotionManager
更好的结果。使用 CoreMotion
通常会导致不准确,因为也看到许多人通过网络抱怨它。
我找不到任何关于它们有何不同的解释,比如使用了哪些传感器,或者对这些传感器的输出使用了什么操作来解释我所经历的不同结果。
UIMotionEffect
苹果:
https://developer.apple.com/documentation/uikit/uimotioneffect
CMMotionManager
苹果:
https://developer.apple.com/documentation/coremotion/cmmotionmanager
虽然很明显 CMMotionManager
为您提供了更多功能,如陀螺仪、加速度等,但我主要问的是 roll/pitch 我可以从 UIOffset
中获得覆盖 UIMotionEffect
或从 CMDeviceMotion.attitude
.
中获取
这里可能不适合问这个问题,不过我会尽量回答你的。
CoreMotion
是一个 API,用于访问来自加速度计、陀螺仪、磁力计和其他更高级别指示器的传感器的原始值。它可以配置不同的更新配置文件(从非常高的刷新率到经济、省电的刷新率)。
使用 UIMotionEffect
,您可以 move/animate 沿设备的水平和垂直轴旋转的视图。它主要用于创建视差效果,如背景在跳板上移动(主屏幕)。您还必须 subclass 这个 class 或使用已经制作的 UIInterpolatingMotionEffect
.
UIMotionEffect
专为对 UI 产生快速、微妙的效果而设计,开箱即用,能耗小,而 CoreMotion
更适合密集型陀螺仪像在带有运动控制的游戏中一样使用。
哦,UIMotionEffect
永久居中视图,所以当您旋转 phone 并站在一边时,它会轻轻滑回中心以匹配您的新位置,在游戏中用处不大。
我非常享受 UIMotionEffect
子类比听 CMMotionManager
更好的结果。使用 CoreMotion
通常会导致不准确,因为也看到许多人通过网络抱怨它。
我找不到任何关于它们有何不同的解释,比如使用了哪些传感器,或者对这些传感器的输出使用了什么操作来解释我所经历的不同结果。
UIMotionEffect
苹果:
https://developer.apple.com/documentation/uikit/uimotioneffect
CMMotionManager
苹果:
https://developer.apple.com/documentation/coremotion/cmmotionmanager
虽然很明显 CMMotionManager
为您提供了更多功能,如陀螺仪、加速度等,但我主要问的是 roll/pitch 我可以从 UIOffset
中获得覆盖 UIMotionEffect
或从 CMDeviceMotion.attitude
.
这里可能不适合问这个问题,不过我会尽量回答你的。
CoreMotion
是一个 API,用于访问来自加速度计、陀螺仪、磁力计和其他更高级别指示器的传感器的原始值。它可以配置不同的更新配置文件(从非常高的刷新率到经济、省电的刷新率)。
使用 UIMotionEffect
,您可以 move/animate 沿设备的水平和垂直轴旋转的视图。它主要用于创建视差效果,如背景在跳板上移动(主屏幕)。您还必须 subclass 这个 class 或使用已经制作的 UIInterpolatingMotionEffect
.
UIMotionEffect
专为对 UI 产生快速、微妙的效果而设计,开箱即用,能耗小,而 CoreMotion
更适合密集型陀螺仪像在带有运动控制的游戏中一样使用。
哦,UIMotionEffect
永久居中视图,所以当您旋转 phone 并站在一边时,它会轻轻滑回中心以匹配您的新位置,在游戏中用处不大。