首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >UIView或UITableView scroll等Ultravisual iPhone应用程序

UIView或UITableView scroll等Ultravisual iPhone应用程序
EN

Stack Overflow用户
提问于 2013-11-28 02:40:52
回答 2查看 2.9K关注 0票数 16

有没有人能给我一个提示,告诉我如何在UltraVisual iPhone应用中重现滚动效果?下面是一个演示效果的gif:

第一个"cell"是全高的,而其他显示的单元格是正常大小的。当用户向上滚动时,第一个单元格会慢慢地动画到正常高度,而下一个单元格会慢慢变大。他们用的是UITableView?还是UIScrollView?我不知道它是怎么做的……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-28 03:48:54

哈,你真让我高兴!实际上是我写的这个视图:)

这实际上非常简单。此视图使用带有自定义UICollectionViewLayout的UICollectionView。

一般原则是这样的。我设定了一个“拖动间隔”--这是在每个单元格之间拖动所需的距离。该值是任意的,但会影响用户必须拖动多少才能切换单元格。集合视图的总高度是“拖动间隔”*视图中的项数。然后,我将布局设置为自动分页到最近的拖动间隔(这使其具有捕捉行为)。这与coverflow的工作原理非常相似。由此,您可以通过将contentOffset.y除以高度来计算“top cell”的索引。

有了“top cell”索引,你就可以很容易地为每个单元格生成框架。最上面的单元格的框架是{ 0,contentOffset.y,320,176 },从那里你可以计算下一个单元格的框架,依此类推。

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

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

使用这个技巧,你可以创建各种复杂的布局。UICollectionView可以是一头强大的野兽,但肯定需要一点时间才能理解它。

票数 35
EN

Stack Overflow用户

发布于 2014-03-14 10:48:34

这非常酷!我们做了一个非常容易使用的控件,如下所示:

https://github.com/RobotsAndPencils/RPSlidingMenu

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20250470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档