在状态栏最初可见的情况下,我添加了一个子视图并隐藏了状态栏:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
[myController.view addSubview:anotherController.view];
在这个视图中,有一个按钮可以切换状态栏的可见性,但是当我再次设置statusBarHidden
时NO
,视图控制器的视图不会自动调整大小以考虑状态栏,因此视图被按下并切断20 像素。我已经为视图设置了所有适当的调整大小蒙版,还尝试了自动布局,但似乎都不起作用。我希望我的视图在显示/隐藏状态栏时自动调整大小,而无需手动设置其框架。
更新
我没有将其添加到根视图控制器的视图中,而是将其推送到导航控制器的堆栈中,并隐藏了状态栏和导航栏。然后我让用户选择只切换状态栏。但是问题仍然存在,当状态栏重新出现时,视图被推送并切断了 20px。
但是当我旋转设备时,一切都在它的位置 - 只有当我在状态栏被隐藏后旋转设备时。