在我的应用程序中,我将故事板设置为仅允许水平和反向水平旋转。我有一个单一的视图控制器场景,其中包含一个UIView子类。一切正常,直到我删除IB编辑器中的场景并试图重新制作它。我根本没有更改任何代码,但是现在,每当我在iOS模拟器中运行我的应用程序时,我都会看到:
以前我会看到一个水平的iPad屏幕,状态栏位于顶部,我的网格填满了屏幕。
self.frame.size.width
在self.frame.size.height
中为我提供1024和awakeFromNib
返回748,因此我的视图认为它具有正确的大小和方向。
以为我犯了一个错误,我完全删除了故事板并创建了一个全新的故事板,再次使用包含我的UIView子类的单个实例的单个视图控制器场景。同样的事情发生了:一个奇怪的侧身iPad。
那么,我做错了什么?
编辑:更多测试显示视图本身也是旋转的。换句话说,左上角的原点(0,0)实际上位于上图中的左下角。
谢谢!
添
答案 0 :(得分:2)
尝试将屏幕自动旋转设置为:
- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait) ||
(interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
}
如果需要,您可以稍后删除。就像你发生在我身上一样。我没有更改任何代码,然后Storyboard决定更改我的应用程序的方向。简单地限制代码中的界面将其固定在故事板中。正如我所说,一旦修复,你可以删除代码,如果你不需要它。 祝你好运!
答案 1 :(得分:1)
看起来您可能只是在模拟器中旋转了设备。如果您转到run
按下Hardware > Rotate Left
按钮,它应该会修复您的起始方向,然后在您下次运行时以正确的方向启动。
答案 2 :(得分:0)
您是否将新创建的故事板设置为项目中的“开始故事板”?