Hes*_*gid 17 objective-c ios uicollectionview uikit-dynamics
我有一个水平UICollectionView的自定义UICollectionViewFlowLayout,UIAttachmentBehavior每个单元格都有一个设置,以便在向左和向右滚动时给它一个弹性的感觉.该行为具有以下属性:
attachmentBehavior.length = 1.0f;
attachmentBehavior.damping = 0.5f;
attachmentBehavior.frequency = 1.9f;
Run Code Online (Sandbox Code Playgroud)
将新单元格添加到集合视图时,它会添加到底部,然后使用a将其设置为其位置UIAttachmentBehavior.当然它会一点一点地反弹,直到它停留在它的位置上.一切都按预期工作到现在为止.

在新添加的单元格停止之前向左或向右滚动集合视图时,我开始出现问题.这增加了单元格已经具有的向上和向下的左右弹性.这导致细胞中非常奇怪的圆周运动.

我的问题是,是否可以在滚动集合视图时停止UIAttachmentBehavior的垂直运动?我已尝试过不同的方法,例如使用多个附件行为并在集合视图中禁用滚动,直到新添加的单元格停止,但它们中的任何一个似乎都不会停止此操作.
在添加新单元格后,我采取了在集合视图中禁用滚动特定时间的方法,然后在该时间过去后使用其action属性删除附件行为,然后立即再次添加新的附件行为。
这样,我确保向上动画在集合视图向左或向右滚动之前停止,而且滚动时左/右弹力仍然存在。
当然不是最优雅的解决方案,但它确实有效。
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |