iPhone X状态栏高度

时间:2017-10-16 17:03:28

标签: ios iphone-x

我开发了一个没有autoLayoutinterface-builder的应用,所有这些都是通过代码完成的。除了iPhones之外,它在所有iPhone X中运行正常,其中顶部栏位于中间的新黑色物体下。

可以通过代码获得那个高度,所以我可以将我的Navigationbar高度调低,所有运行正常吗?

我看到的解决方案,他们使用自动布局。

我只是想把距离调低......

2 个答案:

答案 0 :(得分:15)

在我的Swift应用程序中,我使用

获取状态栏的frame

斯威夫特:UIApplication.shared.statusBarFrame

Objective-C:[UIApplication sharedApplication].statusBarFrame

那是CGRect,所以你可以通过size.height来获得它的高度。所以,总而言之,你可以在Objective-C中做到这一点:

[UIApplication sharedApplication].statusBarFrame.size.height

答案 1 :(得分:6)

您可以随时通过以下方式获取状态栏高度,无论是否隐藏状态栏:

UIApplication.shared.keyWindow!.safeAreaInsets.top

和主屏幕指示灯

UIApplication.shared.keyWindow!.safeAreaInsets.bottom

如果它的格局将改变

safeAreaLayoutGuide也有