我有一个没有状态栏的UIViewController
,它会启动另一个有状态栏的UIViewController
。
如果扩展状态栏处于活动状态,两个视图都显示正确,但是当我退出第二个视图并返回到第一个视图时,我看到顶部有一个20pt黑色条,整个视图被向下推,遮住了底部。
我尝试将帧重置为viewDidAppear
中的原点0,0,但它没有效果。
为什么视图被推下来,我该如何解决?
- (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
之前的视图顶部:
在Share
出现并被驳回之后的视图顶部: