我的應用程序使用CMMotionManager來跟蹤設備運動,但iOS總是以標準設備方向(底部的主頁按鈕)返回設備運動數據。如何在iOS 8下調整CMMotionManager數據的方向?
要獲得運動數據轉換成相同的方向我UIView,我積累的觀點,從我的觀點轉變到窗口是這樣的:
CGAffineTransform transform = self.view.transform;
for (UIView *superview = self.view.superview; superview; superview = superview.superview) {
CGAffineTransform superviewTransform = superview.transform;
transform = CGAffineTransformConcat(transform, superviewTransform);
}
這個轉換得到正確下的iOS 6 & 7計算,但iOS 8更改了旋轉模型,現在無論設備如何定向,視圖總是返回標識變換(不旋轉)。儘管如此,運動管理器的數據仍然以標準方向固定。
監控UIDevice旋轉通知並手動計算四個轉換似乎是在iOS 8下獲得此轉換的一種方法,但它也似乎不好,因爲設備方向不一定匹配我的視圖方向(即iPhone上的上通常不支持設備方向)。
將CMMotionManager的輸出轉化爲iOS 8下特定UIView的方向的最佳方式是什麼?
感謝您的深入瞭解 – 2016-07-22 19:53:38
沒問題!希望能夠幫助其他人尋找相同的東西。 – 2016-07-22 21:14:18