UICollectionViewCell在reloadData之后消失

时间:2013-10-27 17:40:33

标签: ios objective-c uicollectionview

我有一个自定义的UICollectionViewCell子类。单元格有两种尺寸,我在sizeForItemAtIndexPath方法中设置:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
    CGSize size = CGSizeMake(320, 60);
    if ([[[_locationsArray objectAtIndex:indexPath.row] objectForKey:@"hasAlert"] boolValue]) {
        size = CGSizeMake(320, 155);
    }
    return size;
}

当所有物品的尺寸相同时,一切都还可以。当存在各种大小的单元格并且我删除其中一个然后在reloadData之后所有单元格消失时,会出现问题。删除单元格的方法如下:

-(void)MyCollectionViewCell:(MyCollectionViewCell *)cell didDeleteRowForIndex:(int)index{
    [_locationTable performBatchUpdates:^(void){
        [_locationsArray removeObjectAtIndex:index];
        NSIndexPath *indexPath =[NSIndexPath indexPathForRow:index inSection:0];
        [_locationTable deleteItemsAtIndexPaths:[NSArray arrayWithObject:indexPath]];
    } completion:^(BOOL finished) {
        [self updatePlist];
        [_locationTable reloadData];
    }];
}

知道如何解决这个问题吗?顺便说一下,当我没有重新加载collectionView但是indexPaths与单元格不匹配时,它可以工作。

由于

0 个答案:

没有答案