0
我有一個collectionview控制器和一個collectionviewcell。在collectionviewcell中,我有一個自定義類。我正在設置uiimage,但它不工作。集合視圖單元格顯示不顯示
先謝謝您!
在我試圖設置圖像的collectionview控制器中的方法。
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *[email protected]"Cell";
CollectionVIewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
;
CollectionVIewCell *feederCell = (CollectionVIewCell*)[_availableFilters objectAtIndex:indexPath.row];
cell.labelDisplay.text=feederCell.filterName;
NSLog(@"selected =%@",cell.labelDisplay.text);
if (feederCell.isSelected) {
UIImageView *imageView=[[UIImageView alloc]init];
//process string name
NSString*filePath =[NSString stringWithFormat:@"%@.png",feederCell.filterName];
NSArray* words = [filePath componentsSeparatedByCharactersInSet :[NSCharacterSet whitespaceCharacterSet]];
filePath=[words componentsJoinedByString:@""];
cell.FilePath=filePath;
//image
UIImage *image = [UIImage imageNamed:filePath];
[imageView setFrame:CGRectMake(0, 0, image.size.width, image.size.height)];
[imageView setImage:image];
[cell setIconDisplay:imageView];//setting the image that won't set
}else if(!feederCell.isSelected){
UIImageView *imageView=[[UIImageView alloc]init];
NSString*filePath =[NSString stringWithFormat:@"%@.png",feederCell.filterName];
NSArray* words = [filePath componentsSeparatedByCharactersInSet :[NSCharacterSet whitespaceCharacterSet]];
filePath=[words componentsJoinedByString:@""];
UIImage *image = [UIImage imageNamed:filePath];
[imageView setFrame:CGRectMake(0, 0, image.size.width, image.size.height)];
[imageView setImage:image];
[cell setIconDisplay:imageView];
}
return cell;
.h文件中
//
// CollectionVIewCell.h
#import <UIKit/UIKit.h>
@interface CollectionVIewCell : UICollectionViewCell
@property (strong, nonatomic) IBOutlet UIImageView *IconDisplay;
@property (strong, nonatomic) IBOutlet UILabel *labelDisplay;
@property (assign,nonatomic) BOOL isSelected;
@property (strong,nonatomic)NSString*textName;
@property(strong,nonatomic)NSString*FilePath;
@end
.m文件
//
// CollectionVIewCell.m
#import "CollectionVIewCell.h"
@implementation CollectionVIewCell
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
_labelDisplay.text=_textName;
_IconDisplay=[[UIImageView alloc]init];
}
return self;
}
@end