Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
复制Google';s搜索iOS卡动画_Ios_Objective C_Uicollectionview_Google Now - Fatal编程技术网

复制Google';s搜索iOS卡动画

复制Google';s搜索iOS卡动画,ios,objective-c,uicollectionview,google-now,Ios,Objective C,Uicollectionview,Google Now,我现在正试图复制这一点: 如果你熟悉谷歌的应用程序,它看起来像一个带有自定义流布局的UICollectionView 我正在扩展一个已经用一些附加代码结束的问题 在“自定义流布局”类中,我可以通过设置负最小行间距值并使用以下命令来创建“堆叠”效果: - (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect { NSArray *allAttributesInRect = [super layoutAttributesFor

我现在正试图复制这一点:

如果你熟悉谷歌的应用程序,它看起来像一个带有自定义流布局的UICollectionView

我正在扩展一个已经用一些附加代码结束的问题

在“自定义流布局”类中,我可以通过设置负最小行间距值并使用以下命令来创建“堆叠”效果:

- (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能帮你找到答案,那就要花更多的时间了。