为什么我在NSCollectionViewItem'view中的NSImageView是nil?

时间:2013-04-16 06:53:05

标签: objective-c macos nscollectionview nscollectionviewitem

在IB中,我创建了NSCollectionView及其NSCollectionViewItemNSView,其属于NSCollectionViewItem。我的NSCollectionItemNSImageView组成和NSTextField。我使用cocoa绑定设置它们的值。我想在选择NSImageView时更改NSCollectionItem的边框颜色。我为所有这些创建自己的类并设置它们IB中的自定义类。在NSCollectionViewItem类中,我重写了它的setSelected:(BOOL)flag函数。代码是

 - (void)setSelected:(BOOL)flag
{
   [super setSelected:flag];

   [[self view] setSelected:flag];
   [[self view] setNeedsDisplay:YES];
}

我希望在NSView调用其绘制函数时更改边框颜色。在NSView类中,我创建了IBOutletsNSImageView的{​​{1}} ,将它们与IB连接。但是当调用绘制函数时,我使用代码

NSTextField

结果是nil。为什么我无法获取所选NSCollectionViewItem的imageView?哪里弄错了?帮帮我,谢谢!

1 个答案:

答案 0 :(得分:0)

NSCollectionViewItemNSViewController的子类。因此,在ib中,我将NSImageView的{​​{1}}与NSView的imageView相关联并设置NSImageView的类是我自己的类,它是NSCollectionViewItem的子类。在NSImageView的绘制函数中,NSImageView的结果不是零,我可以自己绘制一些东西。