像UIView或UITableView滚动的超视觉的iPhone应用程序

有人可以给我一个关于如何重新创buildUltraVisual iPhone应用程序中使用的滚动效果的提示吗? 这里有一个gif来说明这个效果:

在这里输入图像说明

第一个"cell"是全高,而其他显示的单元是规则的大小。 当用户向上滚动时,第一个单元格慢慢地移动到正常高度,而下一个单元格逐渐变大。 他们使用UITableView? 还是一个UIScrollView? 我不知道它是如何制造的

哈,你做了我的一天! 我其实写了这个观点:)

这其实很简单。 这个视图使用UICollectionView和一个自定义的UICollectionViewLayout。

总的原则是这样的。 我组成了一个“拖曳区间” – 这是每个单元之间拖拽所需的距离。 这个值是任意的,但会影响用户拖动切换单元的次数。 收集视图的总高度是“拖动间隔”*视图中的项目数量。 然后,我将布局设置为自动分页到最近的拖动间隔(这使得捕捉行为)。 这与coverflow的工作原理非常相似。 从这里你可以通过将contentOffset.y除以高度来计算'top cell'的索引。

使用“顶部单元格”索引,您可以轻松地为每个单元格生成框架。 顶部单元格的框架是{0,contentOffset.y,320,176},并从那里你可以计算下一个单元格框架等等。

然后最后一个技巧是计算页面索引的插值。 这基本上是当前单元格索引的小数部分。 这将给出一个介于0和1之间的数字,可以用来计算上面的框架和下面的框架之间的插值。

每个“prepareLayout”计算屏幕上的单元格的框架,然后在layoutAttributesForElementsInRect:中,根据生成的框架生成所有的layoutAttributes。

使用这个技巧,你可以创build各种复杂的布局。 UICollectionView可以是一个强大的野兽,但肯定需要一点点围绕它的头。

这很酷! 我们做了一个相当简单的使用这样的控制,可以在这里find:

https://github.com/RobotsAndPencils/RPSlidingMenu