Xcode 6在一个storyBoard的所有设备上显示图像

时间:2014-10-12 13:48:51

标签: iphone xcode ipad

我试图了解如何在Xcode 6中只有一个storyBoard来使用不同大小的UiImageViews(不是启动图像)。 我有点理解一个抽象故事板的想法,针对不同的设备,并了解UIButtons和标签等有多好。但是当涉及到UIImages时,我真的很困惑。

Surley,拥有所有设备尺寸,您仍然需要为每个设备提供不同尺寸的图像?

例如:假设我想在所有设备上将花(flower.png)的图像作为backGround。

所以以前,我会有2个故事板 - 一个用于iPhone,一个用于iPad。

iphone storyBoard会显示以下图片: iPhoneFlower.png(480 x 320) iPhoneFlower@2x.png(960 x 640)

并且iPad storyBoard会显示以下图片: iPadFlower.png(1024 x 768) iPadFlower@2x.png(2048 x 1536)

我只是看不出你现在如何将图像放在大方形抽象storyBoard中然后设置AutoLayout和size类来定位图像以在所有设备上正确显示(没有裁剪或拉伸)?? < / p>

是的,我知道这可能是一个愚蠢的问题,但因为它与我之前的工作方式有如此不同,我只是没有得到它。我想为每个设备设置一个storyBoard,但这似乎是倒退了一步。

1 个答案:

答案 0 :(得分:1)

要在不同设备上自动选择不同的图像,请使用资产目录,以便设置此区别。现在,故事板中的一个图像视图将在每种设备类型上获得正确的图像。

这可能就是您所需要的,因为如果使用约束来定位图像视图而不调整大小,图像视图将自动采用图像的大小。

如果你需要使用约束显式调整图像视图的大小,请在故事板中使用Size Classes。现在,您的约束可以以实际运行时环境的大小类为条件。 iPhone具有紧凑的宽度(水平尺寸等级); iPad没有。