iOS:在不同设备或不同环境中运行时,如何在Assets.xcassets中使用具有相同名称的不同大小的图像

时间:2017-05-10 05:50:25

标签: ios xcode

目的

我要让我的iOS应用程序在不同的设备上运行,包括iPhone和iPad。 我想使用相同的名称设置不同大小的ImageView图像,以适应不同的设备和风景。

我正在做什么

1.将图像导入Assets.xcassets以获取不同的设备特征。

  

苹果计划参考:Create asset variations for different device traits

xcodes中的图像' Assets.xcassets具有不同的宽度或高度类设置。我在" homeBackground"

之后命名图像

像这样的图像:

  

[1]:https://i.stack.imgur.com/yXHk4.png

2。将imageView拖到Interface Builder

3。设置imageView的属性:Interface Builder中的图像作为图像的名称" homeBackground"

4。以iPad或iPhone身份查看

使用xcode 8.3。我可以预览场景。 我可以看到imageView的图像设置成功,当以Ipad或iPhone查看时

问题

在xcode中运行应用程序。我没有看到imageView在模拟器中有图像,我有以下问题:

  

无法加载" homeBackground"从包含标识符" BTBubblePop"

的包中的nib引用的图像

完整

  1. 我在iPad上运行,ImageView的图像显示
  2. 我在iPhone上运行它,ImageView的图像不显示。

2 个答案:

答案 0 :(得分:1)

感谢您的关注和评论。 问题是由未正确设置的图像调用的。 图像的assets.xcassets改变如下。这很有效。 Image应该喜欢这些。

  

Image should set like here

答案 1 :(得分:0)

如果我正确理解你的问题,那么答案就是图像集名称。

enter image description here

或代码

UIImage *image =  [UIImage imageNamed:@"homeBackground"];
[[UIImageView alloc] initWithImage:image];