我开发了一个没有autoLayout或interface-builder的应用程序,都是通过代码实现的。除了iPhone X之外,它在所有的iPhones中都运行得很好,因为顶栏位于中间的新的黑色东西下面。
可以通过代码获得这个高度,这样我就可以将我的Navigationbar向下移动这个高度,所有的一切都可以正常运行?
我看到的解决方案,他们使用自动布局。
我只想把距离调低一点..
发布于 2017-10-17 01:08:18
在我的Swift应用程序中,我使用以下命令获取状态栏的frame
Swift:UIApplication.shared.statusBarFrame
Objective-C:[UIApplication sharedApplication].statusBarFrame
这是一个CGRect,所以你可以通过对它执行size.height来获得它的高度。所以,总的来说,你可以在Objective-C中做到这一点:
[UIApplication sharedApplication].statusBarFrame.size.height发布于 2017-12-07 22:31:45
无论状态栏是否隐藏,您都可以通过以下方式获得状态栏高度:
UIApplication.shared.keyWindow!.safeAreaInsets.top和主屏幕指示器
UIApplication.shared.keyWindow!.safeAreaInsets.bottom如果它是横向的,则值将更改
safeAreaLayoutGuide也在那里
https://stackoverflow.com/questions/46775477
复制相似问题