1

用屏幕转储来解释:

模态之前

用户按下启动第 3 方编译的 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...

4

0 回答 0