在NSCell内部渲染一个图标(Cocoa OSX)

时间:2013-07-01 16:33:30

标签: objective-c macos cocoa xcode4.2 nsoutlineview

我有一个 NSOutlineView 和一堆对象,你可以想象它是一个文件树。

Outline view with icons

所以我尝试将 NSTextFieldCell 类扩展为解析当前项的名称并为其呈现图标。但我仍然陷入了图标部分。我根本无法让标准的硬编码图像工作!

我尝试了很多教程,我唯一需要工作的是一个名为PXSourceList的类,但它是为OSX 10.7+设计的。此外,大多数教程都使用 AppDelegate NSOutlineViewDataSource 协议,我也希望代码在其他地方管理,而不是在 APPDelegate 类中。

有人可以在第一步给我一些指示吗?我认为围绕图标事物的一般逻辑如何足够启发。我很感激!

我使用XCode 4.2 for Snow Leopard。我正在进行的项目应该在OSX 10.6+中工作,所以我不能使用NSViews的新Lion方法。

1 个答案:

答案 0 :(得分:1)

您可以从其路径中获取文件图标,如下所示;

NSImage *iconImage1 = [[NSWorkspace sharedWorkspace] iconForFile:filepath];

您需要一个图像单元格来显示图标图像。