gpt4 book ai didi

objective-c - iOS 7 自动布局 - 忽略通话状态栏

转载 作者:搜寻专家 更新时间:2023-10-30 20:25:06 25 4
gpt4 key购买 nike

使用自动布局约束,我试图设置一个 subview ,其垂直位置永远不会改变,即使在显示通话中状态栏(或其他一些非标准状态栏)时也是如此。我不想相对于底部布局指南定位 View ,因为我希望它的 y 坐标对于 3.5"和 4"设备是相同的。

这是我想要发生的事情的例证:

Standard Status Bar In-Call Status Bar

最初,我为 subview 的 y 位置设置了“Top Space to: Top Layout Guide”约束。使用此配置,通话中状态栏将 subview 向下推 20 像素:

Nope

接下来,我尝试用“Top Space to: Superview”替换该约束,其中 Superview 是 Controller 的 Root View 。没变。有没有其他方法可以为具有自动布局约束的 View 保持恒定的 y 位置?我知道我可以通过订阅 UIApplicationDidChangeStatusBarFrameNotification 来手动处理这个问题,但如果可以的话,我想保持简单。

最佳答案

您的标签定位为顶部有边距,位于 View 的开头和标签的开头之间。当状态栏变大时,您的 View 就会缩小。如果您希望标签保留在同一位置,您可以收听 UIApplicationWillChangeStatusBarFrameNotification 通知并调整 View 的大小和原点以抵消状态栏的额外空间。如果你只想让你的标签上移,你也可以听上面的通知,并相应地调整顶部空间限制。

关于objective-c - iOS 7 自动布局 - 忽略通话状态栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20738569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com