ios - 在 UICollectionViewLayoutAttributes 中设置 anchor

标签 ios uicollectionview uicollectionviewlayout

我想在 UICollectionViewLayout 中执行转换动画。好吧,这很容易实现,但我找不到设置 UICollectionViewLayoutAttributesanchorPoint 的方法。我想在插入 Collection View 项时执行开门和关门动画

-(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;
}

最佳答案

UICollectionViewLayoutAttributes 中似乎没有anchorPoint 属性,因此您必须对其进行子类化,为anchorPoint 添加一个属性> 并使用 UICollectionViewCell 上的 applyLayoutAttributes 设置单元格上的 anchorPoint 值。

关于ios - 在 UICollectionViewLayoutAttributes 中设置 anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29181499/

相关文章:

ios - 用于检测 URL 是否已更改的 WKWebView 函数

ios - 使用大量 IBOutlets 是一种好习惯吗?

ios - UICollectionView 作为 iOS 中应用程序的 HEADER

swift - 仅在获取用户位置后获取 Firebase/Geofire 数据

objective-c - 两个 UICollectionView 实例共享同一个 UICollectionViewFlowLayout 实例?

ios - 调整合适的 View 高度

ios - 使 UILabel 很好地适合 Collection View Cell

swift - UICollectionViewFlowLayout estimatedItemSize 不适用于 iOS12,但它适用于 iOS 11。*

ios - 将单元格高度固定到 UICollectionView 高度

ios - 使用自定义布局重新加载 UICollectionView 会引发错误