gpt4 book ai didi

ios - 隐藏 UIStatusBar 时 UIView 上的不稳定行为?

转载 作者:行者123 更新时间:2023-11-29 10:39:28 24 4
gpt4 key购买 nike

我有一个放置在 UIScrollView 上的 View ,它根据 UIScrollView 的内容偏移量移动。我通过在 scrollViewDidScroll 中调整 View 的垂直约束来实现这一点:

topViewTopConstraint.constant = -scrollView.contentOffset.y - topView.frame.height

topView 移动得很好,直到不透明的状态栏需要隐藏,这是当它达到某个阈值时。在我的 VC 的 scrollViewDidScroll 中,我使用以下代码实现它

if -scrollView.contentOffset.y <= thresholdY {
self.statusBarHidden = true
} else {
self.statusBarHidden = false
}
self.setNeedsStatusBarAppearanceUpdate()

当 ScrollView 的 Y 内容偏移量达到 thresholdY 时,topView 会跳动。

我在 -scrollView.contentOffset.y 上放置了一个日志,它似乎在抖动期间跳跃了 20 像素。知道为什么会发生这种情况吗?

最佳答案

topView约束是基于top引导线吗?问题是顶部约束可能是根据状态栏底部的顶部引导线的底部定义的。当您隐藏该行移动的状态栏时。因此,当偏移量达到您的阈值时,它会隐藏状态栏,然后使 if 语句不正确,从而重新打开状态栏,依此类推。

您或许可以定义与底部引导线相关的顶部约束或其他不变的东西。

关于ios - 隐藏 UIStatusBar 时 UIView 上的不稳定行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25211615/

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