如何从UICollectionView获取多个选定的CollectionViewCell?

时间:2014-06-23 13:55:49

标签: ios objective-c uitableview

我创建了xib file并添加了Collection View Cell。我在单元格的头文件中添加进度条,如下面的代码。

#import <UIKit/UIKit.h>
#import "MobileVLCKit/VLCMediaThumbnailer.h"

@interface AITFileCell_grid : UICollectionViewCell <VLCMediaThumbnailerDelegate>
@property (strong, nonatomic) IBOutlet UIImageView *fileIcon;
@property (strong, nonatomic) IBOutlet UILabel *fileName;
@property (strong, nonatomic) IBOutlet UILabel *fileSize;
@property (strong, nonatomic) NSURL *filePath ;

+ (NSString *)reuseIdentifier ;


@end

@interface AITFileCell_grid()
{
    BOOL fetching ;

@public
    UIProgressView *dlProgress;
    UILabel *dlProgressLabel;
}
@end

我还创建了另一个xib file并添加Collection View以加载Collection View Cell

我想选择多个文件,隐藏progress bar cell button上的- (IBAction) buttonCancel:(id)sender { if(self.collectionView.indexPathsForSelectedItems > 0){ for(NSIndexPath *indexPath in self.collectionView.indexPathsForSelectedItems){ AITFileCell_grid *cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"AITFileCell_grid" forIndexPath:indexPath]; //Hide the progress bar cell->dlProgressLabel.text = @"0%"; cell->dlProgress.hidden = YES; cell->dlProgressLabel.hidden = YES; } } [self setEditing:NO animated:YES]; }

但是当我通过以下代码点击删除按钮时,我无法获取单元格。

cell->dlProgressLabel.text = @"0%";

我将断点设置为nil,它在日志中显示cell->dlProgressLabel.text ...并且进度条没有改变任何内容。

但我可以将值设置为cell->dlProgress,并将值设置为NSTimer中的cell

为什么UIButton中的{{1}}定义似乎效率不高?...

有人可以帮助并教我如何解决?

1 个答案:

答案 0 :(得分:1)

您正在通过

离开Cell
AITFileCell_grid *cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"AITFileCell_grid" forIndexPath:indexPath];

可能与您选择的内容不同,而是从collectionView

中获取所选单元格
AITFileCell_grid *cell = [self.collectionView cellForItemAtIndexPath: indexPath]