self.view.frame.size.height 1004而不是1024

时间:2013-03-29 21:29:25

标签: ios objective-c ios6

以下代码行:

NSLog(@"%f, %f", self.view.frame.size.width, self.view.frame.size.height);

为iPad设备返回768 * 1004。我使用

隐藏了状态栏
 [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
<{1>}方法中的

并使用

隐藏了viewDidLoad方法中的navigationbar
viewWillAppear

我到底错过了什么?我认为应该返回1024而不是1004。

注意[self.navigationController setNavigationBarHidden:YES]; 是通过故事板创建的,是viewcontroller的全屏显示。

2 个答案:

答案 0 :(得分:1)

在视图布局之前调用

viewDidLoad。在此方法中,视图的大小是您在界面构建器中设置的大小(模拟大小)。

大小不应该是一个问题,视图将很快得到正确的大小(检查viewDidLayout方法)。

请注意,您仍然可以根据控制器的视图大小在viewDidLoad设置视图,只需正确设置自动调整遮罩。

答案 1 :(得分:1)

你在做什么记录?如果我在viewDidLoad中隐藏状态栏,并在viewDidAppear中执行日志,则会得到1024.