2013-03-05 24 views
2

我有一個風景只有應用程序。景觀設計爲景觀(568x320)。然而,當我這樣做:爲什麼橫向視圖報告它的中心就像它是肖像一樣?

NSLog(@"view center: %@", NSStringFromCGPoint(self.view.center)); 

我得到這個:

view center: {160, 284} 

這是該中心將在波泰特模式是什麼。這導致了很多問題,因爲我想將事物置於視圖的中心。爲什麼觀點認爲它是以肖像模式出現的?在視圖中集中某些東西的最佳方式是什麼?

回答

1

這裏的中心是指框架的中心。請記住,該設備時框架不會旋轉。只有框架內的邊界旋轉。

所以,如果你正在寫的代碼是依賴於設備的方向,你應該使用的限制,以獲得中心(x,y座標)的看法,你這樣做:

self.view.bounds .size.width/2和self.view.bounds.size.height/2。

在我的iPhone5,我得到:

  • (160274)在人像模式中的視圖中心。這是有道理的,因爲縱向全景尺寸是(320,568)。您在狀態欄的y軸上放寬了20個點。
  • (284,150)在風景模式下查看中心。這是有道理的,因爲景觀中的全景尺寸是(568,320)。您在狀態欄的y軸上放寬了20個點。

我上面的xy引用隨設備一起旋轉。所以x總是從左到右,y總是從上到下

+0

你也可以在背景中添加一個UIView,綁定到邊緣,並獲得'[self.backgroundView.center]'的中心。雖然父視圖不旋轉,但子視圖可以。 – 2013-03-05 23:11:04

相關問題