通过 xcode 6 中的“imagenamed”方法加载图像
Posted
技术标签:
【中文标题】通过 xcode 6 中的“imagenamed”方法加载图像【英文标题】:load image by "imagenamed" method in xcode 6 【发布时间】:2014-10-06 20:12:51 【问题描述】:我觉得这应该是一个典型的问题,但还没有找到任何答案。基本上我要做的是通过 iPhone、iPad、Retina 和非 Retina 的 imagenamed 方法加载图像。我正在做的是
-
将 4 张图片添加到图片资源中。 (
image_name~iphone.png
、image_name@2x~iphone.png
、image_name~ipad.png
和 image_name@2x~ipad.png
)并将图像集名称设置为“image_name”。
在代码中我只是调用[UIImage imageNamed:@"image_name"]
来加载不同的设备和分辨率。
问题在于,对于 iPad mini 和 iPad 2 等非 Retina 设备,图像的边缘看起来失真。我在想它可能没有为非 Retina 设备选择正确的图像。我的命名约定有什么问题吗?欢迎提出任何建议!
【问题讨论】:
它应该为正确的设备使用正确的图像。尝试将您的UIImageView
其contentMode
设置为UIViewContentModeScaleAspectFit
。你能在你的图片资源中发送“image_name”的截图吗?
您可能希望在编辑器中打开图像并在每个图像上绘制不同的颜色框,以便在调试期间在应用程序中识别它们。
@KevinHirsch 感谢您的回复,我尝试设置 UIViewContentModeScaleAspectFit,但还是一样。 =(
您的图像命名约定没有问题。您能否编辑您的问题并在您的图片资源中发送“image_name”的屏幕截图?
【参考方案1】:
抱歉打扰了。结果是图片的问题。=P
【讨论】:
以上是关于通过 xcode 6 中的“imagenamed”方法加载图像的主要内容,如果未能解决你的问题,请参考以下文章
UIImage imageNamed 不使用 xcode 4.4 显示图像
通过名称 Swift 2、Xcode 7 获取 SKSpriteNode