代码之家  ›  专栏  ›  技术社区  ›  Ben Zotto sberry

为什么我的iPad应用程序项目不能“开箱即用”地以横向模式启动?

  •  2
  • Ben Zotto sberry  · 技术社区  · 14 年前

    这是一个奇怪的问题,因为我确实有一些项目可以很好地工作,可能是因为我做了一些不同的事情。但现在我很困惑。

    我用xcode(3.2.3fwiw)创建了一个新的基于视图的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,无论应用程序是以纵向还是横向模式启动。开箱即用,该默认视图的自动调整大小掩码应该重新显示以适合容器。当我以横向模式启动时,为什么这个号码不是1024?我知道这在我的其他项目中也有效,但我对不同之处感到困惑。我错过了什么?

    谢谢!

    1 回复  |  直到 14 年前
        1
  •  2
  •   jtbandes    14 年前

    viewDidLoad 在视图从XIB加载后立即调用,然后将其旋转到初始设备方向。试试这个:

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