在OS X中使用资产目录时设置模板图像

时间:2014-02-26 22:03:22

标签: macos cocoa nsimage asset-catalog

我有一个资产目录,其中包含我在工具栏按钮中使用的所有图像,我想将它们全部设置为模板图像。据我所知,没有办法将按钮的图像设置为IB中的模板图像,但如果我按如下方式创建图像

NSImage *buttonImage = [NSImage imageNamed:@"imageName"];
[buttonImage setTemplate:YES];

然后'imageName'的图像成为整个应用程序的模板图像。如果没有迭代资产目录中的每个项目,有没有办法做到这一点?

我已尝试将目录中的资产名称设置为*模板,但这不起作用。我也尝试重命名支持图像以包含'模板'但这也不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

假设能够在xcassets文件中执行此操作。实用工具面板中有一个设置 - >属性检查器。它被称为“渲染为”并包含“模板图像”选项。不幸的是,似乎存在一个阻止实际工作的错误,或者该设置具有误导性。

但是,您实际上可以在IB中执行此操作。

  1. 选择您的NSButton或NSToolbarItem
  2. 显示实用工具面板
  3. 切换到Identity Inspector(CMD + SHIFT + 3)
  4. 转到“用户定义的运行时属性”部分。
  5. 添加名为image.template的布尔属性并将其设置为true
  6. 如果您为NSButton设置了alternateImage,那么您可能希望为该属性执行相同的操作。因此,将另一个属性添加到名为alternateImage.template

    的列表中