iOS7隐藏状态栏但不调整顶部布局指南

时间:2014-02-13 14:00:00

标签: xcode ios7 interface-builder autolayout statusbar

我处理Interface Builder中的自动布局设置。我希望在运行时隐藏状态栏时不会偏移固定到顶部布局指南的视图。

我发现隐藏状态栏时myViewController.topLayoutGuide.length从20更改为0。怎么预防呢?或者(作为解决方法)如何设置各种窗口大小的全屏视图,而无需针对顶部布局指南?

描述我情况的一些代码:

Log(@"frame: %@, top: %.0f", NSStringFromCGRect(myViewController.myView.frame), self.topLayoutGuide.length);
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
Log(@"frame: %@, top: %.0f", NSStringFromCGRect(myViewController.myView.frame), self.topLayoutGuide.length);

输出:

frame: {{40, 24}, {240, 40}}, top: 20
frame: {{40, 4}, {240, 40}}, top: 0

1 个答案:

答案 0 :(得分:19)

topLayoutGuide属性是只读的,您不能阻止它更改。

您可以将您的商品固定在topLayoutGuide上,而不是超级视图。这应该可以解决你的问题。

enter image description here