gpt4 book ai didi

ios - 为什么 UITableView 和 UIScrollView 的 bounds 属性中的 "Y"值最初是 "-64"?

转载 作者:行者123 更新时间:2023-11-29 10:27:13 25 4
gpt4 key购买 nike

当我在

中打印 tableView.bounds 时

ViewDidLoad和ViewWillAppear,就是(0.0, 0.0, 375.0, 667.0)

但在 ViewDidAppear 和 scrollViewDidScroll 方法中,它是 (0.0, -64.0, 375.0, 667.0)

为什么“Y”值为负。当我向下滚动时,它会继续减少负值。根据我的假设,向下滚动时它应该在正轴上增加,而当向上滚动时, View 原点上升,所以它应该在向上滚动时在负轴上减少。这意味着,它的发生方向与我的假设相反。为什么会这样?

谁能解释一下?

最佳答案

64是导航栏和状态栏的高度。同样在 viewDidLoad 和 viewWillAppear 中,边界没有完成布局。您应该在 viewDidLayoutSubviews 中获得正确的边界。

至于为什么向下滚动时 y 轴变为负值,那是因为您正在打印边界。如果您想要问题中提到的期望值,则需要使用 tableView.contentOffset.y。我认为这是 SO question关于框架和边界之间的差异也会有所帮助。

关于ios - 为什么 UITableView 和 UIScrollView 的 bounds 属性中的 "Y"值最初是 "-64"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31525259/

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