gpt4 book ai didi

ios - UIScrollView setContentOffset 滚动到内容大小之外并且不会向后对齐

转载 作者:行者123 更新时间:2023-12-01 18:46:21 25 4
gpt4 key购买 nike

我想滚动到 UIScrollView 的顶部.你有两种可能:

  • setContentOffset()
  • scrollView.contentOffset

  • 如果我使用动画,则 ScrollView 有时会滚动到 (0, -26)而不是 (0, 0) .所以它会进一步滚动,但不会回到 (0, 0) .这目前仅在 iPad 上发生。

    如果我不使用动画,则每次都按预期工作。有人知道这里出了什么问题吗?我在 iPad 2 iOS 8.4 模拟器上测试了这个

    编辑:

    在我调用 setContentOffset() 之前我有这个:
    scrollView.layoutIfNeeded();
    scrollView.setContentOffset(somePosition, true);

    删除 layoutIfNeeded也消除了问题。但为什么?

    注意:我没有调用 setContentOffset()连续多次。那是完全不同的任务!

    最佳答案

    试试这种方式:

    scrollView.layoutIfNeeded();
    delay(0.05) {
    scrollView.setContentOffset(somePosition, true);
    }

    (这里是 delay: dispatch_after - GCD in swift?)

    我的想法是,这可能会在我们继续之前给布局时间。

    另一个想法可能是尝试颠倒这两行的顺序:
    scrollView.setContentOffset(somePosition, true);
    scrollView.layoutIfNeeded();

    这里的想法是布局将在动画期间发生,并且我们知道布局设计为在动画期间工作(这就是为什么旋转期间的布局更改是动画的,例如)。

    关于ios - UIScrollView setContentOffset 滚动到内容大小之外并且不会向后对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35436392/

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