gpt4 book ai didi

swift - UIScrollView contentOffset 在点击时重置

转载 作者:行者123 更新时间:2023-11-30 10:55:36 26 4
gpt4 key购买 nike

我有一个 UIScrollView,只要点击 View ,它就会重置其 contentOffset

这在此处进行了演示:https://gyazo.com/c8fb5c0fa5b6d53acf45c809dcb5b251

我尝试过的:

  1. 禁用键盘关闭
  2. 检查 scrollViewDidScroll 上的 isDragging 并重置内容偏移量(如果为 false)。这导致了神经质的行为。
  3. 阅读 this question ,这没有帮助。

您可以在这里自行测试:https://github.com/willbishop/scrollviewwizardry

有什么想法吗?

最佳答案

如果这不是您想要的结果,您可以关闭分页:

scrollView.isPagingEnabled = false

如果您想要使用寻呼:

分页用于在 ScrollView 中的多个 View 之间进行捕捉,通常每个 subview 的大小都是 ScrollView 边界的大小。由于您启用了垂直滚动分页,并且 ScrollView 内容高度小于两个“页面”高度,因此分页会出现意外结果。

对于您的情况,如果您将 ScrollView 中的每个 View 设置为等于 ScrollView 的高度,并且 ScrollView contentSize 高度等于其 subview 的组合高度,则分页可以正常工作,并且点击时内容偏移不会重置:

scrollView.frame.size.height = view.frame.height
subView1.frame.size.height = view.frame.height
subView2.frame.size.height = view.frame.height
scrollView.contentSize.height = subView1.frame.height + subView2.frame.height

当 ScrollView 停止滚动时,它将在显示两个 View 之间快速切换。您还可以将“peekAmount”设置为第二个 View 显示在底部的位置,同时仍滚动到顶部“页面”,只要 ScrollView contentSize 的高度等于 ScrollView 边界高度的两倍(即两页)。

关于swift - UIScrollView contentOffset 在点击时重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53982318/

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