在IB中,我创建了NSCollectionView
及其NSCollectionViewItem
和NSView
,其属于NSCollectionViewItem
。我的NSCollectionItem
由NSImageView
组成和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
类中,我创建了IBOutlets
和NSImageView
的{{1}} ,将它们与IB连接。但是当调用绘制函数时,我使用代码
NSTextField
结果是nil。为什么我无法获取所选NSCollectionViewItem的imageView?哪里弄错了?帮帮我,谢谢!
答案 0 :(得分:0)
NSCollectionViewItem
是NSViewController
的子类。因此,在ib中,我将NSImageView
的{{1}}与NSView
的imageView相关联并设置NSImageView的类是我自己的类,它是NSCollectionViewItem
的子类。在NSImageView
的绘制函数中,NSImageView
的结果不是零,我可以自己绘制一些东西。