【问题标题】:iOS : How using different size image with the same name in Assets.xcassets when Running on different device or different landscapeiOS:在不同设备或不同景观上运行时如何在 Assets.xcassets 中使用具有相同名称的不同尺寸图像
【发布时间】:2017-08-02 20:30:22
【问题描述】:

目的

我要让我的 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中的Image为图片名称“homeBackground”

4。以 iPad 或 iPhone 方式查看

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

问题

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

无法加载从包中标识符为“BTBubblePop”的 nib 引用的“homeBackground”图像

完成

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

【问题讨论】:

  • 能否详细解释一下这个问题。如何在 Xcode 界面生成器中设置图像视图是什么意思?
  • 感谢您的评论。我已经完成了这个问题。你有什么想法吗?
  • 这个标识符 BTBubblePop 是什么?
  • 通用解决方案:首先尝试通过为imageview设置不同的背景颜色来调试imageview是否到来。一旦你确认 imageview 来了但 image 有问题,那么这意味着 image 有问题并处理它。
  • BTBubblePop 是我的 Buddle 标识符。

标签: ios xcode


【解决方案1】:

感谢您的关注和评论。 该问题是由未正确设置的图像调用的。 图像的 assets.xcassets 像这样变化。那行得通。 图片应该喜欢这些。

Image should set like here

【讨论】:

    【解决方案2】:

    如果我正确理解您的问题,答案是它按图像集名称排列。

    或者在代码中

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

    【讨论】:

    • 我设置的名字就像你的首选。但我仍然有类似问题描述的错误。
    猜你喜欢
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多