CollectionView不显示图标

时间:2013-06-04 15:38:05

标签: ios uicollectionview

我第一次创建了一个UICollectionView ..我错过了什么?我已经尝试了一切,图像肯定在应用程序中,正确命名并在数组中找到。然而,它们没有显示出来:

我的IconCell标题:

#import <UIKit/UIKit.h>

@interface IconSelectionCell : UICollectionViewCell
@property (weak, nonatomic) IBOutlet UIImageView *iconImageView;

@end

实施我的IconCell:

#import "IconSelectionCell.h"
#import <QuartzCore/QuartzCore.h>

@implementation IconSelectionCell

- (id)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        self.restorationIdentifier = @"IconCell";
        self.backgroundColor = [UIColor clearColor];
        self.autoresizingMask = UIViewAutoresizingNone;

        CGFloat borderWidth = 1.0f;
        UIView *bgView = [[UIView alloc] initWithFrame:frame];
        bgView.layer.borderColor = [UIColor blueColor].CGColor;
        bgView.layer.borderWidth = borderWidth;
        self.selectedBackgroundView = bgView;

        CGRect myContentRect = CGRectInset(self.contentView.bounds, borderWidth, borderWidth);

        UIView *myContentView = [[UIView alloc] initWithFrame:myContentRect];
        myContentView.backgroundColor = [UIColor whiteColor];
        myContentView.layer.borderColor = [UIColor colorWithWhite:0.5f alpha:1.0f].CGColor;
        myContentView.layer.borderWidth = borderWidth;
        [self.contentView addSubview:myContentView];
    }
    return self;
}

@end

我的collectionViewController:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *identifier = @"IconCell";

    IconSelectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];

    cell.iconImageView.image = [UIImage imageNamed:[self.icons objectAtIndex:indexPath.row]];

    return cell;
}

我是否需要通过代码将imageview添加到单元格?我刚刚在Interface Builder中创建了一个插座......或者我错过了什么?谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

我建议先尝试以编程方式运行。为IconSelectionCell类提供UIImageView的属性(而不是IBOutlet)。然后在viewDidLoad的{​​{1}}方法中,在IconSelectionCell属性上设置以下属性:UIImageViewimage(!)和frame

如果您真的想使用Interface Builder和故事板,请确保插座正确连接,并且原型单元的标识检查器在其类字段中具有您的自定义类名,并记住设置图像。它更容易以编程方式进行,因为您可以布置断点并查看代码是否实际被调用以及何时被调用。