Objective c 如何设置图像';s NSTableView的标头

Objective c 如何设置图像';s NSTableView的标头,objective-c,image,macos,nstableview,Objective C,Image,Macos,Nstableview,我有一个NSTableView,我想在我的列的标题中加载并显示NSImage。 没有直接使用interface builder执行此操作的选项。 如何通过子类化实现这一点?您可以创建派生自:NSTableColumn的类 并重写-(id)headerCell选择器 例如: @interface ImageTableColumn : NSTableColumn { NSString *imageName; } @end @implementation ImageTableColumn

我有一个NSTableView,我想在我的列的标题中加载并显示NSImage。 没有直接使用interface builder执行此操作的选项。
如何通过子类化实现这一点?

您可以创建派生自:NSTableColumn的类 并重写-(id)headerCell选择器

例如:

@interface ImageTableColumn : NSTableColumn
{
    NSString *imageName;
}
@end

@implementation ImageTableColumn

- (id)headerCell
{
    NSCell *cell = [super headerCell];
    NSImage *image = [NSImage imageNamed:imageName];
    image.size = NSMakeSize(32, 32);
    [cell setImage:image];

    return cell;
}

@end
在interface builder中,设置必须显示图像的列的自定义类

为了拥有一个“通用”类,您可以使用用户定义的运行时属性来设置图像(imageName引用到NSString*imageName字段)