这是一个以模态方式呈现并且因此是全屏的视图控制器。
在故事板中,“顶部布局指南”在y:64
处。当状态栏高度为20
且导航栏高度为44
时,我会预期得到这个结果。
然而,当应用程序运行时,“顶部布局指南”为y:52
。我不知道它是如何或为什么会丢失12个点。
这是一个以模态方式呈现并且因此是全屏的视图控制器。
在故事板中,“顶部布局指南”在y:64
处。当状态栏高度为20
且导航栏高度为44
时,我会预期得到这个结果。
然而,当应用程序运行时,“顶部布局指南”为y:52
。我不知道它是如何或为什么会丢失12个点。
-(void) viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
CGFloat navBarHeight = self.navigationController.navigationBar.frame.size.height;
}
navBarHeight
的值仍然是旧的(44
)。
为了解决这个问题,请使用内在大小代替:-(void) viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
CGFloat navBarHeight = self.navigationController.navigationBar.intrinsicContentSize.height;
}
如果您正在使用Xcode 5,IB画布右下角还有一个“浮动”按钮,可以快速更改模拟的表单因素。