我知道有很多关于如何使用 UIKitDynamics 实现有弹性的 collectionViewLayout 的教程和讨论。
甚至还有一个 WWDC 13 Session 视频解决了在 iOS7 消息应用程序中复制“消息气泡”的确切主题。
我在会议视频之后创建了自己的“弹性布局”,并使用本教程,该教程还提供了实现平铺机制的详细信息,即使有数千个单元格,也能确保事情顺利运行。
但是,结果仍然与我们在消息应用程序中看到的非常不同,我的目标是复制与消息应用程序完全相同的行为。
- 无论我为
UIAttachmentBehavior
属性(长度、阻尼、频率)提供多少不同的值,我都无法正确地弹跳。
会话视频说,将长度设置为 > 0 会破坏事情,因为单元格不会返回到它们的实际位置。但是,我只能通过将长度设置为 ~0.5 来重现消息应用程序显示的平滑和快速减速? - 当 collectionView 到达它的边界时,Messages 应用程序中的最后几个气泡会出现一个很好的夸张反弹,而我的“教程实现”根本没有反弹。
开发者论坛中有一个讨论:Apple Dev Forums Discussion
一些人建议每个单元格使用多个 UIAttachmentBehaviors,其他人说应用 UIView - spring Animations 可以给你这种想要的效果。甚至假设 Messages App 根本不使用 UIKitDynamics + UICollectionView。(我怀疑苹果没有为此使用这种明显的技术)
所以我的问题是:有没有人成功实现了消息气泡行为的精确复制?我还能做些什么来获得有关此主题的答案?