如何使用UIImageView在iOS4中显示高分辨率图像

时间:2010-09-21 12:59:40

标签: ios4

我想知道如何使用UIImaageView在iOS4 sdk中使用高分辨率图像。

blackBox = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"alert_bg.png"]];
blackBox.frame = CGRectMake(98.0f, 310.0f, 573.0f, 177.0f);

当我使用此代码时,我得到奇怪的结果......图像无法获得正确的大小。它在iPhone 4屏幕上看起来非常大。

我应该使用326 ppi图像吗?

我已阅读http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/SupportingResolutionIndependence/SupportingResolutionIndependence.html这个,但我很困惑。

由于

SAURABH

2 个答案:

答案 0 :(得分:3)

支持Retina显示屏的关键要点是,在您的代码中,屏幕始终为320x480 。除了图像资源本身之外,您不需要将任何分辨率加倍。在这种情况下,您只需要在应用包中放置两个资源:一个适合320x480屏幕的alert_bg.png - 在这种情况下,我猜这是286x88和alert_bg@2x.png ,恰好是另一个尺寸的两倍,适合640x960。如果您向UIKit询问[UIImage imageNamed:@"alert_bg"],它会自动为当前屏幕选择正确分辨率的资源。

答案 1 :(得分:1)

你应该为3G,3GS和原始iPhone提供一个480x320像素的图像,名为“alert_bg.png”,另一个为iPhone 4提供另一个960x640像素,名为“alert_bg@2x.png”。

名称中的“@ 2x”会自动添加到iOS中并在找到时自动加载图像,而不是标准分辨率。