显示带有动画的状态栏会导致视图向上移动 20px,因此它位于状态栏下方
Show status bar with animation causes view to move up 20px so its under the status bar
我有一个显示和隐藏状态栏的 UIViewController。隐藏状态栏没问题,但是当我使用以下方式显示状态栏时:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];
使视图的内容向上移动 20 像素,使其最终位于状态栏下方。我不知道我还能提供什么但是这个描述,所有发生的事情都是当我隐藏状态栏时,状态栏顶部有 20px 的白色 space(这就是我想要的)但是当我显示状态栏时,视图在状态栏下方向上移动(这不是我想要的)。希望在不影响 UIViewController 及其内容的情况下显示和隐藏状态栏。
我通过删除此 ViewController 上的自动布局解决了这个问题,并在 :
中手动设置了视图布局
-(void)viewDidLayoutSubviews
似乎可以解决问题。为@ThatGuy 将我推向正确的方向干杯。
我遇到了同样的问题。我设法在情节提要中修复了它。
向上移动的视图的顶部约束设置为顶部布局指南。我将其更改为指向 Superview.Top 并且视图停止移动。
要明确使用 Superview over top layout guide,您需要使用 Pin(故事板左下角的按钮)并在设置约束之前取消选中 "Constrain to margins"
我有一个显示和隐藏状态栏的 UIViewController。隐藏状态栏没问题,但是当我使用以下方式显示状态栏时:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];
使视图的内容向上移动 20 像素,使其最终位于状态栏下方。我不知道我还能提供什么但是这个描述,所有发生的事情都是当我隐藏状态栏时,状态栏顶部有 20px 的白色 space(这就是我想要的)但是当我显示状态栏时,视图在状态栏下方向上移动(这不是我想要的)。希望在不影响 UIViewController 及其内容的情况下显示和隐藏状态栏。
我通过删除此 ViewController 上的自动布局解决了这个问题,并在 :
中手动设置了视图布局-(void)viewDidLayoutSubviews
似乎可以解决问题。为@ThatGuy 将我推向正确的方向干杯。
我遇到了同样的问题。我设法在情节提要中修复了它。
向上移动的视图的顶部约束设置为顶部布局指南。我将其更改为指向 Superview.Top 并且视图停止移动。
要明确使用 Superview over top layout guide,您需要使用 Pin(故事板左下角的按钮)并在设置约束之前取消选中 "Constrain to margins"