【问题标题】:NSImage standard artwork & icon NSImageNameStatusAvailableNSImage 标准图稿和图标 NSImageNameStatusAvailable
【发布时间】:2013-03-17 21:01:12
【问题描述】:

当我将NSImageCell 添加到 xib 时,它有一个图像属性,我可以在其中看到一些NSImage 标准艺术作品。从文档来看,它看起来很多,但在下拉列表中,我得到的更少。 具体来说,我正在寻找。

NSString *const NSImageNameStatusAvailable;
NSString *const NSImageNameStatusPartiallyAvailable;
NSString *const NSImageNameStatusUnavailable;
NSString *const NSImageNameStatusNone;

我可以在代码中设置图像,但我想在 xib 中排列所有内容。是否有原因它在下拉列表中不可用?我也不想在 xib 中看到空的 NSImageCell。 有没有办法找到主机图像的大小,这样我就可以调整 xib 的大小而无需实际 NSLog'ing 它的尺寸(假设我想使用一堆主机图像)。

【问题讨论】:

  • 您在项目中设置的部署目标是什么?
  • 部署目标:10.7
  • 嗯,好的。我很惊讶它们没有出现,因为它们是在 10.6 中引入的。

标签: objective-c cocoa xib nsimage


【解决方案1】:

据我所知,笔尖编辑器中的图像是四组的结合:

  • 模板图像(例如按钮)
  • 工具栏图标
  • 图标服务定义的图标(例如警告图标)
  • 您已添加到项目中的图像

不包括任何不在这些集合中的任何内容。可能值得reporting as a bug

同时,您可以将其设置为“NSStatusAvailable”(常量名称减去“ImageName”部分),它将在运行时工作。

因此,您可以通过使用单独的应用程序提取各种图标(无论您需要在 nib 中使用哪个图标)然后将它们添加到您的项目而不是任何目标中来作弊。它们仍会显示在弹出窗口中(从 4.6.1 开始),但不会复制到您的应用程序包中,因此您的应用程序将使用系统提供的。

当然,Apple 可以随时更改图像及其大小,因此在运行时获取它们并根据需要调整视图大小/重新排列视图可能更安全。另一方面,除非您计划在该位置添加对任何随机图像的支持(例如,像 Adium 的状态图标包之类的东西),否则我不会责怪您采取懒惰的方式并只是调整视图/单元格的大小调整为图像的当前大小,并在某处注明以在它们发生变化时对其进行更新。

【讨论】:

  • 我喜欢提取的想法。你会如何建议这样做?
  • @estobbart:编写一个程序,获取[NSImage imageNamed:NSImageNameStatusAvailable](等)并将它们写入 TIFF 文件。运行该程序,然后将输出添加到您的项目中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-18
  • 1970-01-01
  • 1970-01-01
  • 2011-06-30
  • 2022-01-12
  • 2018-04-09
相关资源
最近更新 更多