如何修复iOS模拟器旋转?

时间:2011-11-02 14:53:39

标签: ios xcode ios5 ios-simulator

在我的应用程序中,我将故事板设置为仅允许水平和反向水平旋转。我有一个单一的视图控制器场景,其中包含一个UIView子类。一切正常,直到我删除IB编辑器中的场景并试图重新制作它。我根本没有更改任何代码,但是现在,每当我在iOS模拟器中运行我的应用程序时,我都会看到:

enter image description here

以前我会看到一个水平的iPad屏幕,状态栏位于顶部,我的网格填满了屏幕。

self.frame.size.widthself.frame.size.height中为我提供1024和awakeFromNib返回748,因此我的视图认为它具有正确的大小和方向。

以为我犯了一个错误,我完全删除了故事板并创建了一个全新的故事板,再次使用包含我的UIView子类的单个实例的单个视图控制器场景。同样的事情发生了:一个奇怪的侧身iPad。

那么,我做错了什么?

编辑:更多测试显示视图本身也是旋转的。换句话说,左上角的原点(0,0)实际上位于上图中的左下角。

谢谢!

3 个答案:

答案 0 :(得分:2)

尝试将屏幕自动旋转设置为:

- (BOOL)shouldAutorotateToInterfaceOrientation:
  (UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait) || 
    (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
}

如果需要,您可以稍后删除。就像你发生在我身上一样。我没有更改任何代码,然后Storyboard决定更改我的应用程序的方向。简单地限制代码中的界面将其固定在故事板中。正如我所说,一旦修复,你可以删除代码,如果你不需要它。 祝你好运!

答案 1 :(得分:1)

看起来您可能只是在模拟器中旋转了设备。如果您转到run按下Hardware > Rotate Left按钮,它应该会修复您的起始方向,然后在您下次运行时以正确的方向启动。

答案 2 :(得分:0)

您是否将新创建的故事板设置为项目中的“开始故事板”?