如何在横向模式下获得主UIView的宽度?

iWi*_*ard 4 landscape uiviewcontroller uiview ios

当我使用这段代码时:

- (void)viewDidLoad
{
    [super viewDidLoad];
    CGFloat mainViewWidth = self.view.bounds.size.width;
    NSLog(@"%f", mainViewWidth);
}
Run Code Online (Sandbox Code Playgroud)

我在模拟器中得到了结果:480

当我在iPhone 4上启动应用程序时,我得到了结果320?

我做错什么了吗?

Kri*_*dra 11

做同样的事情viewWillAppear.

-(void)viewWillAppear:(BOOL)animated{
    CGFloat mainViewWidth = self.view.bounds.size.width;
    NSLog(@"%f", mainViewWidth);
}
Run Code Online (Sandbox Code Playgroud)

并查看您是否获得了正确的值.. ViewDidLoad在完全绘制视图之前调用.访问UIViewsize属性会在那里给出不可预测的值.