如何使用UICollectionView实现此单元格动画

时间:2013-12-16 05:29:52

标签: ios core-animation

我正在尝试制作this animation

对于列表,我想我可以使用UICollectionView,但动画部分似乎很棘手。

对此有什么想法吗?

2 个答案:

答案 0 :(得分:3)

如果你的意思是弹性动画部分,那不是很棘手 - Apple在UIDynamics(仅限iOS7 +)的相同代码中有一个完全相同行为的演示。

这里有另一个例子,看起来非常接近你所追求的目标:

http://www.objc.io/issue-5/collection-views-and-uidynamics.html

在中间查看动画示例。它甚至使用集合视图。

答案 1 :(得分:1)

正如@Kendall所说,你真的需要尝试UIDynamics

为了快速解决方法,我只是尝试下面的代码。它的工作方式有点好,与您的代码有关。 我不知道表现。因此,它可能会导致项目缺乏性能。

这只是一个想法。如果它不适合您,请保持原样。

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    MyCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MyCollectionViewCell" forIndexPath:indexPath];

    [UIView animateWithDuration:0.2 animations:^{
        cell.transform = CGAffineTransformMakeTranslation(0.0, -50);
    }];
    [self delayBy:0.5 code:^{ // call block of code after time interval
        [UIView animateWithDuration:0.3 animations:^{
            cell.transform = CGAffineTransformIdentity;
        }];
    }];
    return cell;
}