OGeek|极客世界-中国程序员成长平台

标题: ios - 在状态栏相差 1 个像素处启动 UIView [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 15:45
标题: ios - 在状态栏相差 1 个像素处启动 UIView

针对不同的 iPhone 设备,例如 iPhone X 和 iPhone 8。我想使用 在距离状态栏 1px 的位置开始我的 UIView自动调整大小。我能够通过在 iPhone X 之前启动 UIView y 轴 21px 来解决这个问题。我怎样才能动态地实现这个东西,以便 UIView 总是在所有 iphone 的状态栏之后开始。

在 iPhone 8 plus 上看起来不错

enter image description here

在 iPhone X 上看不到 1px 的差异,因为 View 是从顶部看的

enter image description here



Best Answer-推荐答案


iPhone X 更新

以前所有 iPhone 设备的状态栏高度都是 20pt。但在 iPhone X 上,它是 44pt。所以在实现你的 UI 时要小心。

如果您想在主线程中更新 UI 或在 viewWillAppear 中调用。

CGFloat getstatusBarHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;
CGRect modifyFrame = your1PxFrame.frame ;
modifyFrame.origin.y =  getstatusBarHeight ;
your1PxFrame.frame = modifyFrame;

关于ios - 在状态栏相差 1 个像素处启动 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46639013/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4