2014-10-12 65 views
0

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

Surley,所有的设备尺寸,你仍然需要为每个设备不同大小的图像?

例如:可以说我想在所有设备上都有一朵花(flower.png)作为背景。

因此,以前,我会有2个storyBoards--一个用于iPhone,一个用于iPad。

的iphone故事板将显示以下图象: iPhoneFlower.png(480×320) [email protected](960×640)

和iPad故事板将显示以下图象: iPadFlower。 png(1024 x 768) [email protected](2048 x 1536)

我只是无法看到您现在如何在大方形抽象storyBoard中放置图像,然后将AutoLayout和尺寸类设置为目标要在所有设备上正确显示图像(无裁剪或拉伸)?

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

回答

1

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

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

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

+0

@亚光 - 感谢马特让我走向正确的方向。我认为资产目录仅用于图标并仅启动图像。最好我开始了解更多关于资产目录的信息! – pete 2014-10-12 14:13:49

+0

资产目录在iOS 8和iPhone 6 Plus中更为重要,因为现在您已经获得了_three_图片大小。您可以使用资产目录,也可以发疯。 :) – matt 2014-10-12 14:42:31

+0

资产目录看起来非常神奇,非常符合逻辑。是的,我几乎要疯了才能处理所有设备的图像大小。我实际上是试图以编程方式完成这一切。再次感谢。 – pete 2014-10-12 14:52:43