Retina“@ 2x”图形错误地用于标准def显示(使用Snow Leopard / Xcode 4.2)

时间:2012-10-08 17:38:59

标签: objective-c xcode macos cocoa osx-snow-leopard

我正在OS X 10.6 Snow Leopard中使用Xcode 4.2开发Mac应用程序。

我的Xcode项目包含在同一个文件夹中,并且具有精确的双倍尺寸:

image.png
image@2x.png

我使用Apple-recommended - [NSImage imageNamed:]方法根据用户的屏幕类型加载正确的资源:

[NSImage imageNamed:@"image"];

然而,当我在非视网膜1440x900显示器上运行应用程序时,会显示图像的“@ 2x”版本。当它应该是50x50时我得到100x100图像。

当我在10.7 Lion中运行应用程序(在标准模式和HiDPI模式之间切换)时,相同的代码可以正常运行标准def和视网膜图像。

到目前为止,我还无法使用Snow Leopard HiDPI(720x450)模式。但是当我使用标准def显示器时,它仍然应该显示标准def图像。

Snow Leopard或Xcode 4.2是否有限制导致此操作不正确?如果是这样,您如何发布部署目标为10.6但仍具有视网膜图形支持的应用程序?

1 个答案:

答案 0 :(得分:2)

似乎Snow Leopard或Xcode 4.2无法将High Resulotion Artwork正确地合并到一个.tiff文件中?

在目标的构建设置中将Combine High Resolution Artwork设置为NO

重要提示:我还需要从我的应用程序包中手动删除以前创建的.tiffs。 -[NSImage imageNamed:]更喜欢单个.tiff到2个.png,因此如果找到它,它将使用.tiff文件。确保没有。

Combine High Resolution Artwork: NO!