【问题标题】:UIKit Dynamics on a UITableViewUITableView 上的 UIKit 动态
【发布时间】:2014-01-17 10:35:10
【问题描述】:

您能否在滚动到UITableView 时(如在 iOS7 上的消息应用中)添加弹性单元格效果?我已经看到它在 UICollectionView 上工作的示例,但对于表格视图绝对没有。

这是不可能的,我应该将每个表格视图更改为集合视图并重做所有单元格吗?

【问题讨论】:

  • 顺便说一句,简短的回答是否。 UIKit Dynamics 仅适用于 UICollectionView,并且 (2014) 明确地不适用于表视图。 (糟透了,嗯?!:))

标签: ios iphone uitableview uicollectionview uikit-dynamics


【解决方案1】:

在 WWDC 2013 会议Exploring Scroll Views in iOS 7 中,他们谈到了使用集合视图和 UIKit 动态来实现此效果。我想用集合视图比表格视图更容易做到这一点,因为它更容易定位单元格。会话中可能会有示例代码。

【讨论】:

    【解决方案2】:

    很遗憾,没有。

    每个UICollectionView 都有一个布局对象(UICollectionViewLayout 子类),它描述了每个单元格在集合视图的滚动视图中的位置以及在给定的 CGRect 中哪些单元格是可见的。 UITableView 没有这个,所以它会更难做任何操纵其单元格位置的事情。

    除了动画 UIView 对象,UIKit Dynamics 可用于直接动画 UICollectionViewLayoutAttributes,这对于具有可重用单元格的 UITableViewUICollectionView 样式类是必需的,这些单元格可能不会全部显示在屏幕上,但这仍然是UIDynamicAnimator 的“物理”的一部分。然后可以使用 UIDynamicAnimator 方法(例如 layoutAttributesForCellAtIndexPath:)来填充您的布局对象。

    UITableView 没有等效的布局对象,也没有等效的 UIDynamicAnimator 代码可在屏幕外的 UITableView 单元格上操作,如果您切换到 UICollectionView 可能会容易得多想要这种行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-29
      • 2022-01-09
      • 1970-01-01
      • 2023-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多