【问题标题】:Swift: Very slow Horizontal scroll of UICollectionSwift:非常慢的 Collection 水平滚动
【发布时间】:2018-09-02 20:34:52
【问题描述】:

我正在尝试在集合视图上实现水平滚动,但我遇到了一个非常奇怪的问题。在任何 iPhone 模拟器 other iPhone X 上,从第一个单元格滚动到第二个单元格时,动画非常缓慢。之后,一切正常。

您可以通过以下链接查看问题:

The problem

当我在 viewDidLoad 中添加以下代码以使单元格对齐时,问题就开始了:

self.collectionView?.decelerationRate = UIScrollViewDecelerationRateFast

编辑:

下面是我用来控制滑动方式的代码(如视频所示):

知道为什么会发生这种情况以及为什么 iPhone X 可以正常工作吗?

提前致谢。

【问题讨论】:

  • “当我在 viewDidLoad 中添加以下代码以使单元格对齐时” 不确定您的意思。如果想法是让单元格对齐到中心(分页),那不是这样做的。
  • @matt 检查我的编辑

标签: ios swift horizontal-scrolling


【解决方案1】:

问题在于,如果您想要创建一个“分页”集合视图,其中当用户滚动时单元格总是停在中心,那不是这样做的。正确的做法是对布局进行子类化,实现targetContentOffsetForProposedContentOffset:withScrollingVelocity:

【讨论】:

  • 两个问题:a)当涉及到我想要实现的目标时,这与 scrollViewWillEndDragging 有何不同? b) 说我通过继承 UICollectionViewFlowLayout 来实现与 targetContentOffset 相同的滚动效果。如何在不使用 collectionView?.decelerationRate = UIScrollViewDecelerationRateFast 的情况下使单元格捕捉?谢谢
  • “这与 scrollViewWillEndDragging 有什么不同” 你两者都。但在这两种情况下都与减速率无关。
  • 谢谢!你有实现两者的例子吗?如果不使用 decelerationRate,如何重新创建“snap”效果?
  • 请谷歌“轮播”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-18
  • 1970-01-01
  • 1970-01-01
  • 2016-08-07
  • 2017-11-26
  • 1970-01-01
相关资源
最近更新 更多