gpt4 book ai didi

ios - 如何创建具有不同页面大小的 UIScrollView(页面对齐、弹跳)

转载 作者:可可西里 更新时间:2023-11-01 06:10:30 27 4
gpt4 key购买 nike

我正在尝试创建自定义垂直 UIScrollView,它可以处理具有不同页面高度的多个页面。

假设:

  • 页面高度等于或大于屏幕高度
  • 如果页面高于屏幕高度,它会像往常一样滚动 UIScrollView – 在顶部和底部弹跳
  • 如果用户结束滚动并且“分页符”在屏幕中间
    • 如果没有速度 - 页面吸附到最近
    • 如果有速度 - 页面在滑动方向变为一个

我尝试了很多方法来实现这一点,但我偶然发现了很多 UIScrollView 怪癖,这让我很难做到。

问题:

  • UIPanGestureRecognizer 获取速度的方法不可靠 (velocityInView:)
  • scrollViewWillEndDragging:withVelocity:targetContentOffset: 方法让我很头疼,因为它可以随意破坏我对动画设置内容偏移的尝试
  • 我不知道如何在其中一个中间页面中实现弹跳,恐怕我必须重写整个滚动处理
  • 当我尝试在 UIScrollView 减速时覆盖设置内容偏移时,我得到的是
    • 我的内容偏移量已设置
    • 减速继续超出我设置的内容偏移量

奖金

我也尝试过将 UIScrollView 作为一个页面放在 UIScrollView 内部,但这种方法也很麻烦。例如,当我在 inside scroll 的底部时,然后我向下滚动了一点,将手指移开并快速再次捕获并向上滚动,外部 scroll 收到触摸,这弄乱了 inside scroll presentation。

有人知道怎么做吗?任何提示都会有所帮助,因为我完全卡住了......

最佳答案

试试这个。可能有帮助。基于 Circa 新闻应用程序。

https://www.cocoacontrols.com/controls/rscircapagecontrol

关于ios - 如何创建具有不同页面大小的 UIScrollView(页面对齐、弹跳),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16379707/

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