我正在尝试设置一个在各个 NSCollectionViewItem 视图中具有自定义绘图的 NSCollectionView。我有一个需要在每个视图中绘制的图像,但我无法将视图链接回 Interface Builder 中的 NSCollectionViewItem 子类。是否有我可以与 NSCollectionViewItem 一起使用的 init 方法来执行初始化操作?我试图实现 copyWithZone,但我做错了,因为我得到了一些永恒的循环。目前,我发现与视图建立连接的唯一机会是在使用 -(void)setSelected:(BOOL)flag 更改选择之后。我想在视图中进行绘图,但我需要来自我的代表对象的图像作为我的源。我读到的与 NSCollectionView 相关的所有内容似乎都不完整。
@implementation CollectionViewItem
-(void)setSelected:(BOOL)flag {
[super setSelected:flag];
NSLog(@"setSelected: %d", flag);
// tell the view that it has been selected
[(CollectionViewItemView* )[self view] setSelected:flag];
// This is where I pass my image to my view
[(CollectionViewItemView* )[self view] setOriginalSprite:[(MyModel* )self.representedObject imageSource]];
[(CollectionViewItemView* )[self view] setNeedsDisplay:YES];
}
@end