1

我在 Interface Builder 中使用支柱和弹簧创建了一个 iPad 目标 UIView。一旦应用程序运行,自动调整大小就可以完美地工作,因为我改变了设备方向。但是在启动时,无论设备启动的方向如何,UIView 都有其横向大小(如在我的 xib 中绘制的那样)。如何让 autoresize 规则在 viewDidLoad 处触发,以便在用户启动时视图采用纵向形式设备处于纵向的应用程序?

谢谢!

4

2 回答 2

2

setFrame 调用对我不起作用 - 因为简单地调用 mainViewController.view 会导致 viewDidLoad 在 setFrame 被处理之前被触发。

但是,在主视图控制器的 viewDidLoad 中,您可以在进行其他计算之前调用它:

[self.view setFrame:[[UIScreen mainScreen] applicationFrame]];
于 2012-06-25T06:20:18.730 回答
0

这实际上很容易。在您的 AppDelegate 中,只需向您的主视图控制器的视图发送一条消息以设置框架,如下所示:

[mainViewController.view setFrame:self.window.frame];
于 2011-05-12T16:32:13.813 回答