Mac应用程序不使用视网膜@ 2x图像文件

时间:2012-09-03 01:46:48

标签: objective-c cocoa retina-display nsimage nsimageview

我正在尝试更新我的应用程序以支持视网膜显示,但是当它在Retina MacBook Pro上运行时,未使用@ 2x版本的图像。以下是我在我的应用中用于设置图像视图的方法。

在XML解析器类中:

[[self theCurrent] setCurIcon:[NSImage imageNamed:@"snow.png"]];

在Current类中设置NSImageView:

[viewCurIcon setImage:curIcon];

每个图像文件都有一个标准的res版本和一个高分辨率版本,它们都在Xcode项目的支持文件夹中:

snow.png is 128x128 pixels
snow@2x.png is 256x256 pixels

我确认当Xcode构建应用程序时,@ 2x版本包含在应用程序包中。其他需要注意的事项是:该应用程序是一个菜单栏应用程序,其中所有视图都在NSPopover中,动画GIF用于其中一个图像视图(没有@ 2x版本的GIF),该应用程序是使用Xcode 4.4构建的较旧的MacBook Pro运行OSX 10.7.4,没有视网膜显示。

1 个答案:

答案 0 :(得分:5)

尝试使用@"snow"代替@"snow.png"。通过这种方式,您可以指向名为“snow”的图像,并让操作系统对有关分辨率和扩展的详细信息进行排序,而不是明确说明图像将命名为"snow.png"