在UICollectionViewLayoutAttributes中设置锚点

4

我想在UICollectionViewLayout中执行变换动画。这很容易实现,但我找不到设置UICollectionViewLayoutAttributesanchorPoint的方法。我希望在插入集合视图项时执行门的打开和关闭动画。

-(UICollectionViewLayoutAttributes *)initialLayoutAttributesForAppearingItemAtIndexPath:(NSIndexPath *)itemIndexPath{
    UICollectionViewLayoutAttributes *attributes = [super initialLayoutAttributesForAppearingItemAtIndexPath:itemIndexPath];
    attributes.alpha = 1.0;
    CGFloat progress = 0.0;
    CATransform3D transform = CATransform3DIdentity;
    transform.m34 = -1.0/500.0;
    CGFloat angle = (1 - progress) * M_PI_2;

    transform = CATransform3DRotate(transform, angle, 0, 1, 0  );
    UICollectionViewCell *cell = [self.collectionView    cellForItemAtIndexPath:itemIndexPath];
    cell.hidden = YES;

    attributes.transform3D = transform;
    return attributes;
}
1个回答

0

UICollectionViewLayoutAttributes 中似乎没有 anchorPoint 属性,所以你需要子类化它,添加一个 anchorPoint 属性,并在 UICollectionViewCell 上使用 applyLayoutAttributes 方法来设置单元格上的 anchorPoint 值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接