-2

我想在我的 iPhone 应用程序中为我的 UIButtons、屏幕背景等提供图像。
如果我有,它是否适用于 Retina 显示屏和正常显示屏

  1. ButtonImage.png 和 ButtonImage@2x.png
  2. Background.png 和 Background@2x.png

或者,我应该做任何额外的编码以便它适用于两个显示器吗?

ButtonImage.png 在 Retina Simulator 上看起来很尴尬。所以,我应该有一个更高分辨率的图像。所以...请帮助我。

昌都

4

6 回答 6

1

UIImage 的imageNamed:方法会自动在视网膜设备上查找@2x 图像(如果它们可用);不需要额外的编码。

于 2012-07-12T15:08:54.893 回答
1

如果您将图像放在用户界面中的.xib文件中,或者如果您使用+imageNamed:类方法 for UIImage,那么 @2x 后缀足以加载 Retina 图像。

于 2012-07-12T15:09:26.793 回答
0

这是正确的事情,我的意思是无论您使用或描述方式,但您需要做的第二件事是为按钮分配位置。如果您将位置分配为常量或通过声明 x,y 坐标来修复,那么它可能不起作用,因此请尝试以动态方式分配按钮的位置,以便在视网膜调用它时它将占据位置。谢谢

于 2012-07-23T10:11:18.210 回答
0

你无事可做,ios做选择合适的工作

于 2012-07-12T15:09:06.947 回答
0

简短的回答:是的,这是做你想做的事情的正确方法。 UIImage将为您解决所有问题。

但是,不要忘记您不能只复制和重命名给定的图像(例如,Background.png)。您需要获得与 相同Background.png但分辨率为 4 倍的图像(即宽度加倍,高度加倍)。然后,你可以命名它Background@2x.png,一切都会变得非常敏锐。

于 2012-07-12T15:11:36.460 回答
0

在这里,您必须使用简单的图像,它适用于正常显示和视网膜显示。您只需在资源包中使用 ButtonImage.png 和 Background.png 指定简单图像,在资源包中指定视网膜图像 ButtonImage@2x.png Background@2x.png。

现在您只需要在代码中指定简单的图像,当在具有视网膜屏幕分辨率的设备(即 iPhone 4 及更高版本)上运行时,将自动拍摄视网膜图像。

backgroundImageView.image = [UIImage imageNamed:@"Background.png"];

相同的代码将起作用,当 iPhone 4 带有视网膜显示时,它会自动考虑来自资源包的图像 Background@2x.png。

如果您还有其他问题,请告诉我。

于 2012-07-12T15:14:35.587 回答