如何使用 Swift 从资产中加载特定图像

How to load specific image from assets with Swift

我是 Swift 的新手,我想从资产中加载特殊图像。例如我有:

image 1 for iphone 4s = green-square@2x.png
image 2 for iphone 5/5s = green-square-Retina@2x.png
image 3 for iphone 6s = green-square@3x.png

并且我想为 iphone 6 加载一个特定的图像,例如

self.GSquare = SKSpriteNode(imageNamed: "./Images.xcassets/green-square-Retina@2x.png")

可能吗?

您不能直接使用@2x@3x加载图片,系统会自动选择合适的图片,只需使用UIImage:

指定名称
UIImage(named: "green-square-Retina")

从 swift 3.0 开始有更方便的方法:#imageLiterals is text example. And below animated example from here:

您无需 UIImage(named: "green-square-Retina") 即可轻松从资产中选取图像。

直接使用 bundle 中的图像对象。
开始输入图像名称,您将获得有关捆绑包中实际图像的建议。这是明智的做法,不易出错。

请参阅 this Whosebug 答案以供参考。