0

我已完全PSTCollectionView从我的项目中删除,在某一时刻,我收到以下错误,PSTCollectionViewItemTypeCell未找到。我知道,我需要用可用的东西替换它,UICollectionView但我自己没有找到它。

有没有人经历过这两种(PSTCollectionView/UICollectionView)然后请给我建议一个替代代码的和平。

这是iOS 6.0及以上版本的罕见问题——人们可能会UICollectionView顺利升级。但是,我正在运行一个旧项目,并且需要针对 iOS 9.0 进行完全重组。

请帮忙。

这是有问题的代码:

- (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewLayoutAttributes *attributes = (UICollectionViewLayoutAttributes *)[super layoutAttributesForItemAtIndexPath:indexPath];
    if ([attributes representedElementCategory] == PSTCollectionViewItemTypeCell) {
        //some good code.
    }
    return attributes;
}
4

1 回答 1

0

您可以从作为枚举成员的PSTCollectionView存储库中看到:PSTCollectionViewItemTypeCellPSTCollectionViewItemType

typedef NS_ENUM(NSUInteger, PSTCollectionViewItemType) {
    PSTCollectionViewItemTypeCell,
    PSTCollectionViewItemTypeSupplementaryView,
    PSTCollectionViewItemTypeDecorationView
};

这基本上相当于UICollectionElementCategory

typedef enum {
   UICollectionElementCategoryCell,
   UICollectionElementCategorySupplementaryView,
   UICollectionElementCategoryDecorationView 
} UICollectionElementCategory;

这应该只是将一个替换为另一个的情况:

- (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewLayoutAttributes *attributes = (UICollectionViewLayoutAttributes *)[super layoutAttributesForItemAtIndexPath:indexPath];
    if ([attributes representedElementCategory] == UICollectionElementCategoryCell) {
        //some good code.
    }
    return attributes;
}
于 2015-10-06T14:31:07.900 回答