2014-09-18 16 views
5

我正在更新一個應用程序,在橫向上運行,我在模擬器和運行iOS 8的iPhone 5上測試。從我的視圖控制器self.view.frame.size.width的值是我在iOS 7和更早版本中爲self.view.frame.size.height總是收到的值。現在顯示的許多元素現在與x和y座標相對應。視圖控制器frame.height和frame.width交換iOS 8

我正在尋找一個優雅的解決方案,它獲得了和以前一樣的行爲,也許這在iOS 8的橫向模式下是不可能的?

+0

你用什麼方法記錄大小? – 2014-09-19 00:21:38

+1

是的,男人,它是ios 8的新行爲。 – 2014-09-19 03:20:12

+0

正要問類似的問題。 @nyekimov - 你可以發佈更多信息的參考鏈接? (也許作爲回答發佈) – eselk 2014-09-19 17:30:28

回答

4

正如指出用戶nyekimov,它的iOS 8的新特性 有在WWDC有關2014屆214 希望這個事情參考幫助:) 爲了解決我剛纔添加的iOS 8的驗證問題和iPad,並將寬度與高度進行交換。 (我剛剛在iPad上遇到這個問題,這就是爲什麼我只爲它而做)

祝你好運! :d

0

我遇到了同樣的問題,我的應用程序也只能在橫向模式下運行 - 我只是使用if語句來糾正問題,無論它出現在哪裏。

如果(self.view.frame.size.height> self.view.frame.size.width) { 那麼你使用的是iOS版本< 8和API仍在引用畫像尺寸。 使用您現有的代碼。 } 其他 { 你使用的是iOS 8,你將需要改變。如果你的應用程序切換方向,那麼你可能需要獲取設備的方向也是你的寬度/高度引用 }

- 見device orientation

希望這會有所幫助。

0

如果我們試圖從self.view.frame.size訪問viewWillLayoutSubviews,而不是從viewWillAppear中的寬度和高度的值:將得到正確的值。

這對我有效:)

相關問題