首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >视网膜支持imageNamed @2x不工作

视网膜支持imageNamed @2x不工作
EN

Stack Overflow用户
提问于 2012-10-01 18:03:01
回答 2查看 3K关注 0票数 3

可能重复: iOS 5.1和iPad 3中的Xcode 4.2和视网膜

我正试图在iPad 2上加载我的应用程序(因为它在iPad 3上运行得很好)。我缩小了图像的比例,现在有2组图像,如: image.png和image@2x.png。当我尝试用以下内容加载图像时:

代码语言:javascript
代码运行次数:0
运行
复制
someImageView.image = [UIImage imageNamed:@"image.png"];

或者通过IB,它没有给出我所期望的结果(比如根据iPad的显示方式选择正确的这里),并且只显示image.png,而不管哪个iPad运行应用程序,不过当我试图通过以下方式导入图像时:

代码语言:javascript
代码运行次数:0
运行
复制
NSString* imagePath = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"];
UIImage* someImage = [[UIImage alloc] initWithContentsOfFile:imagePath];
someImageView.image = someImage;

这很好,当我在iPad 3上运行应用程序时,它使用@2xPNG文件。虽然这是可行的,但我不确定我必须分配和发布我使用的每一个映像,因为我通过IB使用了一些图像。这是正常的行为吗?

我使用了SDK 4、4.2和5,但是没有什么改变,我也使用Xcode 4.2,因为我不想切换到Lion。

  • 我尝试过不使用someImageView.image = [UIImage imageNamed:@"image.png"];,只需选择IB插槽中的图像"image.png“。没起作用。
  • 我试着在IB插槽中输入image。没起作用。不管发生什么,它都能接上image.png。
  • 我尝试使用someImageView.image = [UIImage imageNamed:@"image@2x.png"];,它在任何设备中都显示2x图像。
  • 我试过使用image@2x~ipad.pngimage~ipad.png。没起作用。
  • 所有图像集都命名为“正确”,大小是正确的,并且都已导入到同一组/文件夹中的项目中。
  • 它不是一个通用的,而是一个iPad应用程序。
  • 在此过程中,我已经清理了几次构建。

任何帮助都是非常感谢的!

*UPDATE:当UIImage返回2时,[UIScreen mainScreen].scale切换到@2x。当我检查它时,它返回1,这就是@2x未被激活的原因。那么,有谁知道如果4.2不能识别iPad3视网膜显示器呢?我发现了类似的这里

*UPDATE 2:我将SDK5.1合并到Xcode中并使用它作为基本SDK,从而成功地完成了这项工作。当我将SDK 5和5.1放在SDK文件夹中时,它无法工作,当我删除SDK 5版本时,它就成了一种魅力。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-01 19:47:41

它在默认情况下不能工作,因为Xcode 4.3.1是支持新的iPad (视网膜)的第一个版本。

如果你想让它起作用,检查这个答案

票数 0
EN

Stack Overflow用户

发布于 2012-10-01 18:21:04

您是否尝试过将~ipad后缀添加到图像中?所以你的视网膜iPad图像应该重新命名如下:

代码语言:javascript
代码运行次数:0
运行
复制
[UIImage imageNamed:@"image@2x~ipad.png"]

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12678533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档