复制Google';s搜索iOS卡动画
我现在正试图复制这一点: 如果你熟悉谷歌的应用程序,它看起来像一个带有自定义流布局的UICollectionView 我正在扩展一个已经用一些附加代码结束的问题 在“自定义流布局”类中,我可以通过设置负最小行间距值并使用以下命令来创建“堆叠”效果:复制Google';s搜索iOS卡动画,ios,objective-c,uicollectionview,google-now,Ios,Objective C,Uicollectionview,Google Now,我现在正试图复制这一点: 如果你熟悉谷歌的应用程序,它看起来像一个带有自定义流布局的UICollectionView 我正在扩展一个已经用一些附加代码结束的问题 在“自定义流布局”类中,我可以通过设置负最小行间距值并使用以下命令来创建“堆叠”效果: - (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect { NSArray *allAttributesInRect = [super layoutAttributesFor
- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect
{
NSArray *allAttributesInRect = [super layoutAttributesForElementsInRect:rect];
CGPoint centerPoint = CGPointMake(CGRectGetMidX(self.collectionView.bounds), CGRectGetMidY(self.collectionView.bounds));
for (UICollectionViewLayoutAttributes *cellAttributes in allAttributesInRect)
{
if (CGRectContainsPoint(cellAttributes.frame, centerPoint))
{
cellAttributes.transform = CGAffineTransformIdentity;
cellAttributes.zIndex = 1.0;
}
else
{
cellAttributes.transform = CGAffineTransformMakeScale(0.75, 0.75);
}
}
return allAttributesInRect;
}
“滑动以删除”动画正常工作,但我在创建“堆叠”外观时遇到问题,然后仅向上拖动一个单元格到视图中,同时保持剩余卡片堆叠,如上面所示。我看到此视图有两个部分。1.一堆“卡片”&2。一张书桌。像那样把它拆了,这样处理起来就容易多了 子类
uicardwiew
创建一个“卡片”(我称之为uicardwiew
),您可以拖动它,这应该非常简单。创建一个“堆栈”也不应该太难。我认为最难的部分是有效地添加阴影
第二部分包括许多移动部分:将这些堆栈添加到表中。实际上,该表用于平滑滚动和一致的间距,实际上是完全透明的。您需要为heightforrowatinexpath:
计算每个“卡”堆栈的高度
这种方法允许平滑滚动、相对较低的内存占用和相对容易的高度定制。此外,这些较小的部件应易于维护和添加功能。嘿。我试图复制同样的效果,虽然没有太大的成功。我需要这些卡片成为UICollectionView/UITableView的一部分,这样用户就可以滚动更多的卡片,而不仅仅是像google这样的卡片。但我可以向你保证,谷歌构建该应用程序的方式并不是集合视图。我在Reveal中检查了应用程序,他们基本上只使用视图来制作动画。尽管如此,我也需要一个CollectionView,我能看到它的唯一方法是通过两个布局,您可以设置两个布局之间的过渡动画。如果你想要的效果的视频或gif能帮你找到答案,那就要花更多的时间了。