解释屏幕转储:
用户按下启动第三方编译的ViewController的按钮。第三方ViewController接管整个屏幕并隐藏状态栏。一旦用户完成它,它们将返回到第一个屏幕(上图),最终看起来像这样:
到目前为止,我已经尝试过这个:
- (void)viewWillAppear:(BOOL)animated {
self.view.frame = [[UIScreen mainScreen] applicationFrame];
[self.view setNeedsLayout];
}
但我仍然无法按下最初的UINavigationBar
=======================
更新
我使用以下方法修复了它:
CGRect frame = self.navigationController.navigationBar.frame;
frame.origin.y = 20;
self.navigationController.navigationBar.frame = frame;
这会有用吗?状态栏总是20高吗?我试过读取状态栏的高度,但它返回0 ......