ios - 在 Xcode 7.2 中将 PDF 用于图标图像

标签 ios xcode swift uibutton vector-graphics

我正在尝试将 PDF 文件用作我正在开发的应用程序中的图标。我遇到的问题是色调颜色不一致。

如果我从界面生成器设置按钮图像,图标图像在运行时显示为黑色。每次。无论我尝试从界面构建器中设置什么。

我尝试通过代码设置我的按钮图标图像,不是显示黑色,而是白色:

let myGraphicFile = UIImage(named: "myPDFImage")
let myButtonImage = myGraphicFile?.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
myButton.setImage(myButtonImage, forState: .Normal)

从代码来看,无论我尝试将色调设置为什么,从代码来看它总是白色的。

我发现了这篇与 Xcode 6.x 相关的帖子,但我认为它可能已过时,因为我可以部分执行此操作,但无法设置色调。

Use PDF in XCode for an AppIcon (.appiconset collection)

我在 Inkscape 中创建图标,另存为 PDF 1.5。我将该文件添加到 Images.xcassets。在 Images.xcassets 的属性检查器中,我正在设置:

设备通用

比例因子单个向量

总结:我可以让它正确显示和缩放,但它要么在界面生成器中显示为黑色,要么在代码中显示为白色。我怀疑我遗漏了一些关于如何从 Inkscape 保存文件的内容。

感谢阅读。如果您有任何建议,欢迎提出。

最佳答案

我已经弄明白了如何使用 Inkscape 创建矢量图标。当您在 iOS 中使用 PDF 显示图标时,您需要在 xcAssets 中为您的图标更改 Attributes Inspector,如下所示:

1) 将PDF拖入xcAssets

2) 设置设备(我做了 Universal,效果很好)

3) 如果您的 PDF 图标低于 1x、2x 或 3x 大小级别,请将其拖到通用并删除其余图标。

4) 将比例因子设置为单向量

5) 呈现为模板图像

enter image description here

一旦在那里配置好,您就可以像对待界面生成器中的任何其他图像一样对待它。这基本上与我在代码中所做的相同,但我不认为它是在代码中完成的……它必须在图像所在的 xcAssets 上完成。据我了解,iOS 在运行时为尺寸类渲染矢量图像。我认为尝试在代码中调整它是行不通的,因为图像已经被渲染过了。

如果有人对此有任何疑问,我找到了this link有助于解决我的问题。

此外,这篇文章也涵盖了这个主题。 https://stackoverflow.com/a/25804358/4475605

关于ios - 在 Xcode 7.2 中将 PDF 用于图标图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35306051/

相关文章:

ios - 发送电子邮件导致 - 连接中断

ios - 如何使用 Alamofire 更改全局变量?

ios - 跨设备同步核心数据

ios - 如何在 UIImageView 之上添加交互式 UILabel?

ios - Swift:便利初始化器 - 在 self.init 调用之前使用 Self

ios - 如何在 TableView 中显示全局字典项

swift - self.tabBarController?.selectedIndex 并在另一个 View Controller 中执行功能

ios - UITableView 单元格删除崩溃?

ios - 使用 Cocoapods 更新后找不到 Parse/Parse.h 文件

iOS 应用程序仅在 TestFlight 构建时崩溃