2010-08-08 30 views
2

这是一个奇怪的问题,因为我肯定有项目工作正常,可能是因为我一直在做不同的事情。但现在我很困惑。为什么我的iPad应用程序不能在开箱即用的横向模式下“开始”?

我使用Xcode(3.2.3 fwiw)创建一个新的基于View的iPad应用程序。这让我成为一个默认视图控制器,它具有一个默认视图,该视图在启动时被取消存档和显示。

当我在模拟器处于横向模式时启动应用程序时,我期望默认视图的大小为1024宽。但它不是 - 如果我只是一个行添加到默认的项目:

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 
- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSLog(@"width: %f", [[self view] bounds].size.width); // add this line 
} 

我可以看到宽度为768,应用程序无论是在肖像或风景模式启动。开箱即用,该默认视图的autoresize掩码应该重新布局以适合容器。当我以横向模式启动时,为什么不是1024这个数字?我知道这在我有的其他项目中有效,但我对它的区别感到困惑。我错过了什么?

谢谢!

回答

2

viewDidLoad在视图从xib载入后立即被调用,然后它被旋转到初始设备方向。试试这个:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { 
    NSLog(@"rotated to width: %f", self.view.bounds.size.width); 
} 
+0

Oy。谢谢。在调试过程中,我被一只红色鲱鱼分散注意力,最后通过创建这个虚拟项目来发现自己疯了,最终回归到了基础知识。感谢您的转向。 – 2010-08-08 16:20:44

相关问题