UITit Dynamics上的UIKit Dynamics

dri*_*rix 28 iphone uitableview ios uicollectionview uikit-dynamics

你可以在滚动时添加弹性单元格效果(如在iOS7上的Messages应用程序中)到UITableView?我已经看过它的一些例子UICollectionView,但是对于表格视图来说绝对没有.

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

kne*_*llr 28

很不幸的是,不行.

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

除了动画UIView对象之外,UIKit Dynamics还可以UICollectionViewLayoutAttributes直接用于动画制作,这对于具有可重用单元格的样式UITableViewUICollectionView样式类来说是必需的,这些单元格可能并非全部在屏幕上,但仍然是UIDynamicAnimator"物理"的一部分.然后可以使用UIDynamicAnimator诸如的方法layoutAttributesForCellAtIndexPath:来填充布局对象.

没有等效的布局对象UITableView,并且没有等效的UIDynamicAnimator代码可以在屏幕外的UITableView单元格上运行,UICollectionView如果你想要这种行为,你可能会更容易切换到a .


nev*_*ing 8

在WWDC 2013会议中探索iOS 7中的滚动视图,他们讨论了使用集合视图和UIKit Dynamics来实现此效果.我想,使用集合视图比使用表视图更容易,因为它更容易定位单元格.可能会有示例代码与会话一起使用.