首页 > 解决方案 > iOS:使状态栏在非 iphoneX 上隐藏时保持其高度

问题描述

当我隐藏状态栏时:

UIApplication.shared.isStatusBarHidden = true

由于状态栏消失,我的其他视图向上移动。这很奇怪,因为通常当您将视图设置为隐藏时,它不会失去其高度。然而,这不会发生在 iPhoneX 上。

我该怎么做才能隐藏状态栏而不丢失高度?是否可以只使状态栏文本透明?

那也可以解决我的问题。

编辑:人们想知道我为什么要这样做。那么Snapchat就是这样做的。当您从故事中打开照片时,父视图的状态栏会消失,但状态栏所在的高度保持不变。

标签: iosswiftuistatusbar

解决方案


您的视图最终被固定到顶部布局指南/安全区域。当状态栏隐藏时它会向上移动,因此它们也会向上移动。如果那不是你想要的,不要那样做。

(但是,要小心,因为您的应用程序需要在 iPhone X 等无边框设备上运行。)

例如,这里的按钮被固定在主视图的顶部,而不是安全区域。如您所见,当状态栏显示和隐藏时它不会移动(显示 iPhone X 和 iPhone 5s):

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述


推荐阅读