我一直在尝试根据CMMotionManager返回的CMAttitude旋转我的视图,特别是pitch = x和roll = y。我正在用一种参考态度来设定我的视野。 这对于肖像模式非常有用,但是我尝试将其用于横向视图时会出错。 由于手机现在旋转90 ccw,我希望coremotion知道景观已经到位,并保持音高和滚动有用。相反,我仍然有轴指向他们原来的方式。 为了尝试和补偿我只是改变了roll = x和切换音高= y的符号。 这似乎有效,直到我把设备放在我面前并转过180度。视图颠倒并倒置。
我的狡猾的感觉告诉我,我需要对音高滚动和偏航进行适当的转换以重新定位态度
我希望有些天才或天才可以帮助我。数学显然不是我的强项。
答案 0 :(得分:3)
你是对的,改变音高和滚动会导致严重的麻烦。最简单的方法似乎与CoreMotionTeapot示例中的新参考态度一起使用。正好在检测到方向变化时,您必须先获取当前姿态,然后再将其与之前的参考姿态相乘,并将其设置为新的参考姿态。