要求iphone设备方向刷新

时间:2012-07-11 04:56:55

标签: iphone ios rotation orientation

我正在为iphone创建一款益智游戏。我的所有菜单都只是纵向,但我的游戏玩法可以是纵向或横向。

因此,当我在菜单中并且设备被保持在风景中时,当我去游戏视图控制器时,它使用横向坐标进行布局,但屏幕实际上仍然是纵向的:< / p>

enter image description here

我想强制设备在进行布局之前重新定位屏幕。我该怎么做?

现在我正在测试这样的设备方向:

- (void) viewDidLoad {
    .
    .
    .

   if (!UIDeviceOrientationIsLandscape([[UIDevice currentDevice] orientation])) {
      // Run Portrait Layout
   }
   else {
      // Run Landscape Layout
   }
}

所以我知道该设备正在返回横向方向,但由于某种原因,屏幕仍然是纵向的。

2 个答案:

答案 0 :(得分:17)

也许试试..

[UIViewController attemptRotationToDeviceOrientation];

viewDidLoadviewWillAppear中,应该让它尝试更改方向

答案 1 :(得分:1)

UIViewController中有一些方法可以覆盖以捕获view-did-rotate事件:

– willRotateToInterfaceOrientation:duration:
– willAnimateRotationToInterfaceOrientation:duration:
– didRotateFromInterfaceOrientation:

请检查UIViewController class reference