2012-08-31 62 views
0

我对使用视网膜和非视网膜显示管理不同大小的图像有点困惑。管理视网膜UIButton图像大小

  1. 我在故事板添加自定义按钮并添加一些文本,然后添加和backgroundImage,这是在Illustrator做了载体(宽度:630 /高度:130):

    UIImage *img = [UIImage imageNamed:@"iPad1_orange_button.png"]; 
    [myButton setBackgroundImage:img forState:UIControlStateNormal]; 
    

按钮显示出来:

enter image description here

...按钮出来非常小。

我有@ 2x视网膜的另一个图像,但出来相同的大小。

我的问题是如何管理图像大小的按钮的大小。我需要手动设置按钮的大小吗?另外,当我在Illustrator中创建一个与XCODE中使用的按钮具有相同像素大小的按钮并将其导出为.png时,将其添加到XCODE并将其拖入Storyboard中,它会非常大。

+0

@ 2x图像的宽度和高度是多少? – Ben

+0

按钮的框架是什么?将其设置为与图像相同的尺寸。 –

+0

1260 x 265像素2x – PeterK

回答

1

只是一个快速澄清:

故事板尺寸像素不

iPhone 4S有640x960(x,y)@ 326ppi。 xCode尺寸是320by460(x,y)。只需取出数字并将其转换为适当的像素大小即可。

IE:如果你想要一个在故事板上100宽100高的按钮,你将创建一个100 *(640/320)像素宽和100 *(960/460)像高的图像(我相信我的数学是正确的...)。

根据你正在为你建造什么,你需要不同的图像来迎合不同的设备。

另一方面,术语视网膜显示没有指定px的明确标准px。如果我记得正确的话,这是苹果创造的一个术语,基本上意味着屏幕有足够的像素,人眼(因此视网膜)将无法看到锯齿。

与英特尔的术语Ultrabook类似,没有REAL spec floor/ceiling只是一个营销策略。

+0

HA!我喜欢关于Ultrabook的产品线! –

0

想想尺寸和你会认为像素是一个“密度独立像素”。当涉及位置和大小时,您总是以原始大小工作,但操作系统要为您处理不同的分辨率。现在我们有原始尺寸和视网膜,这是X2的密度,但这可能会改变。您永远不需要手动更改给定设备的分辨率。

0

这很简单:

  • 使按钮窗体的正常清晰度图片
  • 的大小,当您加载具有的UIImage imageNamed图像:像这样做

的UIImage * IMG = [UIImage imageNamed:@“iPad1_orange_button”];

*注意我删除了文件扩展名(.png) - 这指示UIImage选择适当的分辨率版本,常规或@ 2x。 iOS将以与正常的res图像相同的帧大小显示图像的2x版本。很简单。