gpt4 book ai didi

iphone - UIScrollView - 为新的 contentSize 设置适当的 contentOffset 会产生不需要的空白空间

转载 作者:行者123 更新时间:2023-12-03 20:53:31 29 4
gpt4 key购买 nike

我现在已经在 UIScrollView 上玩了一段时间了。我正在尝试的是根据各种因素将 subview 插入到 ScrollView 中。由于我的 ScrollView 仅在垂直方向滚动,因此我将在当前可见 View 之前或之后插入 subview 。

所以,假设我当前可见 View 的帧是(0,0,320,480),scrollView的contentSize是(320,480),当前contentOffset是(0,0)

当我想在 currentView 上方插入 subview 并保持 currentView 处于焦点时,我在位置 (0,-480,320,480) 插入新的 subview ,并将scrollView的 contentSize 更改为 (320, 960),同时保留 contentOffset与 (0,0) 相同。

令人惊讶的是,UIScrollView 在 currentView 之后添加了“额外”空间,而不是将其插入到 currentView 之上。虽然上面新插入的 View 永远无法成为焦点,因为 UIScrollView 可能从错误的 contentOffset 中假设了 contentSize!

我用谷歌搜索发现有一些others面临类似的问题,但尚未产生结果: Set starting point of content size for UIScrollView

如果我做错了什么,请告诉我?或者这是某种限制等?

谢谢!

编辑:一些threads建议更改 contentSize 会影响 contentOffset 属性,因此为了确保这不会导致问题,我仅在更改 contentSize 后更新 contentOffset 属性。即使这样我也面临着同样的问题。

最佳答案

您可以通过以下方式解决此问题:

  • 使用框架 (0,0,320,480) 添加新的 subview
  • 将现有 subview 的框架设置为 (0,480,320,480)
  • 将 contentSize 设置为 (320,960)
  • 将内容偏移设置为 (0,480) - 当然不是动画。

因此,实际上,将所有内容都降低了 480 点

关于iphone - UIScrollView - 为新的 contentSize 设置适当的 contentOffset 会产生不需要的空白空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7648492/

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