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

Posted

技术标签:

【中文标题】在 OS X 中使用资产目录时设置模板图像【英文标题】:Setting template images when using an asset catalog in OS X 【发布时间】:2014-02-26 22:03:21 【问题描述】:

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

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

然后“imageName”的图像将成为整个应用程序中的模板图像。除了迭代资产目录中的每个项目之外,还有什么方法可以做到这一点?

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

【问题讨论】:

你有没有得到这个答案? 我刚刚将所有应该是模板图像的图像放在一个资产目录中,然后循环浏览它们并设置模板。 【参考方案1】:

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

但是,您实际上可以在 IB 中做到这一点。

    选择您的 NSButton 或 NSToolbarItem 显示实用程序面板 切换到身份检查器 (CMD+SHIFT+3) 转到用户定义的运行时属性部分。 添加一个名为 image.template 的布尔属性并将其设置为 true

如果您为 NSButton 设置了 alternateImage,您可能希望对该属性执行相同的操作。因此,将另一个属性添加到名为alternateImage.template的列表中

【讨论】:

以上是关于在 OS X 中使用资产目录时设置模板图像的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 5.1 + 资产目录 + 存档 = AppIcon 无效图像路径

如何使用资产目录作为导航栏背景图片?

从项目导入时,Xcode 图像资产目录无法看到所有图像?

Xcode 6.1 关于资产目录中启动图像的警告

如何在资产目录中设置可访问性标签? Xcode 11

XCode images.assets 资产目录切片被忽略,图像仍然失真