2012-07-12 81 views
-2

我想在我的iPhone应用程序中为我的UIButtons,屏幕背景等图像。
将其两个Retina显示屏和正常显示的工作,如果我有Retina-Display-iPhone与普通iPhone的图像

  1. ButtonImage.png和[email protected]
  2. Background.png和[email protected]

OR,我应该做任何额外的编码,使它适用于这两种显示器?

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

Chandu

+0

基本上 - 是的,你应该有一个更高分辨率的图像和是的,对于大多数用法UIKit会自动使用更高分辨率的图像(以@ 2x后缀命名)。如果你还没有,我建议你加入书签:http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html – ChrisH 2012-07-12 15:11:09

回答

1

的UIImage的imageNamed:方法,如果他们提供的视网膜设备上自动查找该@ 2倍的图像;不需要额外的编码。

0

你什么都没有做,IOS做的工作选择正确的一个

+0

非常感谢!我以为同一个草皮。只是想确认一下。 – Chandu 2012-07-12 15:32:15

1

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

+0

我正在使用StoryBoard。它是否对你的答案做出任何改变? – Chandu 2012-07-12 15:29:52

0

简答:是的,这是正确的方式做你想做的。 UIImage会为你全力以赴。

但是,,不要忘记,你不能只复制和重命名给定的图像(说,Background.png)。您需要获得与Background.png相同的图像,但分辨率是其四倍(与宽度的两倍和高度的两倍相同)。然后,你可以命名该[email protected],一切都会变得桃色敏锐。

0

在这里你必须使用简单的图像,它将适用于正常显示以及视网膜显示。您只需在资源束中使用ButtonImage.png & Background.png指定简单图像并在资源束中使用视网膜图像[email protected] [email protected]

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

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

相同的代码将工作,当iPhone 4与视网膜显示时,它会自动从资源包中考虑图像[email protected]

让我知道如果您有任何其他问题。

+0

谢谢!我虽然一样。想要从专业人士确认。 :) – Chandu 2012-07-12 15:31:51

+0

让我知道你是否需要任何帮助? – AppAspect 2012-07-14 15:24:53

0

这是正确的事我指的是你正在使用或描述的方式,但第二件事 你需要做的是分配位置的按钮。 如果你要通过声明x,y坐标来分配位置作为常量或修正,那么它可能不起作用,所以尝试以动态方式分配按钮的位置,以便一旦视网膜调用它,它就会占据位置。 谢谢