在自定义布局中的约束更改上为UICollectionView项设置动画

时间:2015-02-13 20:44:34

标签: ios objective-c animation uicollectionview

我正在使用自定义UICollectionview布局来显示圆圈中的项目。在向上滑动时,我重置了我的集合视图上的约束并为这些约束更改设置了动画。我希望我的项目能够通过约束变化进行动画制作,这是一次流畅的体验。

我让他们进行动画制作,但只有在约束更改后(我认为),它看起来很乱并且很奇怪,请查看此处的截屏视频:http://cl.ly/ZmA0

这是滑动手势方法中的代码:


- (void)foo:(UISwipeGestureRecognizer *)gesture {
    [self.view layoutIfNeeded];

    [self.collectionView mas_remakeConstraints:^(MASConstraintMaker *make) {
        make.width.equalTo(self.view.mas_width);
        make.height.equalTo(self.collectionView.mas_width);
        make.top.equalTo(self.view.mas_top).offset(50);
    }];

    [UIView animateWithDuration:1.0 animations:^{
        [self.view layoutIfNeeded];
    }];

    [self.collectionView performBatchUpdates:^{
        CircleLayout *layout = (CircleLayout *)self.collectionView.collectionViewLayout;
    } completion:nil];
}

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我不确定MASConstraintMaker是什么(并且视频无效)。 但是在performBatchUpdates块中,您将获得集合视图布局。你在做什么?它未使用。也许这可以为您指出正确的解决方案。