【发布时间】:2014-05-05 17:23:06
【问题描述】:
我有一个水平的UICollectionView 和一个自定义的UICollectionViewFlowLayout,每个单元格上都设置了一个UIAttachmentBehavior,以便在左右滚动时给人一种有弹性的感觉。该行为具有以下属性:
attachmentBehavior.length = 1.0f;
attachmentBehavior.damping = 0.5f;
attachmentBehavior.frequency = 1.9f;
当一个新单元格被添加到集合视图时,它被添加到底部,然后也使用UIAttachmentBehavior 动画到它的位置。自然地,它会上下反弹一点,直到它停留在它的位置上。到目前为止,一切都按预期工作。
当集合视图在新添加的单元格静止之前向左或向右滚动时,我开始出现的问题。将左右弹性添加到单元格已经添加的上下一个。这会导致单元格中出现非常奇怪的圆周运动。
我的问题是,是否可以在滚动集合视图时停止 UIAttachmentBehavior 的垂直运动?我尝试了不同的方法,例如使用多个附件行为并在集合视图中禁用滚动,直到新添加的单元格停止,但似乎没有一个能阻止这一点。
【问题讨论】:
-
让它保持原样,这很有趣。
-
您使用的是自定义布局吗?然后确保在布局而不是单元格中添加运动效果。
-
你有没有解决过这个问题(以一种优雅的方式)?
-
不,到目前为止,我唯一的解决方案是我在下面发布的解决方案。
标签: ios objective-c uicollectionview uikit-dynamics