我們的應用程序由Cocos3D和AR組成。由於升級到iOS 8,我們必須修復Apple定位處理,因爲蘋果給我們帶來了變化。iOS 8和UIScreen尺寸問題
但是,我們仍然遇到一些問題,導致我一個頗爲有趣的現象(我檢查它在我們的應用程序,並在一個全新的項目。):
記錄的[UIDevice currentDevice].orientation
,[UIApplication sharedApplication].statusBarOrientation
和[UIScreen mainScreen].bounds.size
表明,當該裝置快速旋轉,設備的方向實際上改變,但接口的方向有時會保持不變,並導致屏幕邊界的計算錯誤......例如:
旋轉之前10
[UIDevice currentDevice].orientation = 1
[UIApplication sharedApplication].statusBarOrientation = 1
[UIScreen mainScreen].bounds.size = 414x736
第一次旋轉後:
[UIDevice currentDevice].orientation = 4
[UIApplication sharedApplication].statusBarOrientation = 4
[UIScreen mainScreen].bounds.size = 736x414
2旋轉後:
[UIDevice currentDevice].orientation = 1
[UIApplication sharedApplication].statusBarOrientation = 4
[UIScreen mainScreen].bounds.size = 736x414
現在很明顯,第二旋轉後,該設備是早在肖像模式 - 也沒有根據界面方向和屏幕邊界...
我在這裏錯過了什麼嗎?
你在哪裏登錄結果?我的意思是你用哪種方法調用NSLog。 – LoVo 2015-04-02 07:33:56
爲'UIDeviceOrientationDidChangeNotification'添加了一個觀察者,導致一個名爲'orientationDidChange'的方法(我的方法) – GalSab 2015-04-02 07:38:04
UIDeviceOrientation並不總是UIInterfaceOrientation。例如,當您的設備在普通桌面上時,您可能會收到意外的值。 – LoVo 2015-04-02 07:41:23