我有一个没有状态栏的 UIViewController
,它会启动第二个有状态栏的 UIViewController
。
如果扩展状态栏处于事件状态,两个 View 都可以正确显示,但是当我退出第二个 View 并返回到第一个 View 时,我会在顶部看到一个 20pt 的黑条,整个 View 被向下推,遮住底部.
我尝试在 viewDidAppear
中将框架重置为原点 0,0,但没有任何效果。
为什么 View 被下推,我该如何解决?
- (BOOL)prefersStatusBarHidden {
return YES;
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.view.frame = CGRectMake(0, 0, self.width, self.height);
self.view.backgroundColor = [UIColor redColor];
}
- (void)openShare {
Share *share = [[Share alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:share];
nav.modalTransitionStyle = UIModalPresentationPopover;
[self presentViewController:nav animated:YES completion:nil];
}
调用 openShare
之前的 View 顶部:
呈现和关闭 Share
后的 View 顶部:
最佳答案
昨天我在我的应用程序中遇到了完全相同的问题。
我做了两件事来解决这个问题。
关于ios - 状态栏隐藏后 View 被推下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37197965/