代码之家  ›  专栏  ›  技术社区  ›  Saurabh

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

  •  0
  • Saurabh  · 技术社区  · 14 年前

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

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

    当我使用此代码时,会得到奇怪的结果…图像大小不正确。它在iPhone4屏幕上看起来非常大。

    我应该使用326 ppi图像吗?

    我读过了 http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/SupportingResolutionIndependence/SupportingResolutionIndependence.html 但我很困惑。

    谢谢

    苏拉布

    2 回复  |  直到 14 年前
        1
  •  3
  •   Noah Witherspoon    14 年前

    要理解支持视网膜显示的关键是,在你的代码中, 屏幕总是320x480 . 除了图像资源本身,您不需要将分辨率提高一倍。在这种情况下,您只需要在应用程序包中放置两个资源:一个 alert_bg.png 那是320x480的屏幕。在这个例子中,我猜是286x88和 alert_bg@2x.png 它的尺寸正好是另一个的两倍,适用于640x960。如果你要求uikit [UIImage imageNamed:@"alert_bg"] ,它将自动为当前屏幕选择正确的分辨率资源。

        2
  •  1
  •   Ciprian L.    14 年前

    您应该为3g、3gs和iPhone原版提供一个480x320像素的图像,名为“alert_bg.png”,另一个960x640像素的图像,名为“alert_bg@2x.png”,用于iPhone 4。

    名称中的“@2X”由iOS自动添加,如果找到图像,则自动加载图像,而不是标准分辨率图像。