2016-04-29 55 views
-1

我有一个问题,要了解如何使用Swift管理iOS中的各种图像分辨率。管理图像问题Swift

例如,如果我有一个图像,我在我的应用程序中使用它,我必须创建到各种设备的分辨率,但之后,我插入我的项目中的各种图像分辨率,我必须插入它,在特殊文件夹?

你能帮我吗?

回答

0

你可以简单地从发现者在Xcode资产类别不同的​​分辨率拖动图像。

首先,您需要了解为什么需要具有1x,2x和3x分辨率的图像。

某些设备的屏幕比其他设备的屏幕具有更密集的像素。这些设备具有所谓的“视网膜显示器”。想象一下,你想在普通的显示器上显示100px×100px的图像。现在想象一下,在像素更密集的显示器上显示相同的图像。显然,第二个显示器上的图像会显得更小。这不是一个很好的用户体验。

要解决此问题,您可以提供2倍和3倍图像。只要显示器是视网膜显示器,操作系统就会自动选择使用这些图像。

现在让我们看看如何将图像放入Xcode中。

首先打开你的资产目录:

enter image description here q

然后拖动要添加到该面板的图像:

enter image description here

然后你会看到你的形象补充:enter image description here

现在你看到那些1x 2x 3x thingys?这就是您需要将分辨率更高的图像拖到!

所以在这里我拖了2倍的图像到2X插槽:

enter image description here

现在,当你的应用程序配备Retina显示屏的设备上运行,2倍的图像将被使用!

+0

我有疑问:如果在我的应用程序中有图像视图,为此我使用基本(1x)图像和系统在视网膜显示屏上执行时将其更改为2x图像? – gianni

+0

是的,没错! iOS很聪明。你不需要担心_当它会选择2倍图像。只要把它放在那里,你就会好起来的! @gianni – Sweeper

+0

好的,当我创建我做的:UIImage(名为:“baseImage.png”),当应用程序运行在视网膜显示系统上baseImage.png更改[email protected]?这样对吗? – gianni

0

这不是图像分辨率,而是屏幕的像素密度。基本上你有非视网膜设备(标准)和视网膜(2x标准和3x标准)。因此,举个例子,如果你有100x100点的imageView,你想用名为square.png的图片资源提供,你需要3种图片:square.png(100x100px),[email protected](200x200px)和square @ 3x.png(300x300px)。

在Xcode中,将这些图像放在一个名为资产目录的资源中 - 它将处理图像的大小为您管理。

更多信息:https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/_index.html

+0

好的,但是当我在我的代码中创建一个图像时,我使用基本图像和系统自动更改基于设备的图像? – gianni

+0

我不确定我是否理解正确,但如果您在代码中创建图像,则可以创建适当大小的图像 - 因为您拥有所有需要的信息。 – Kubba