【问题标题】:Since the last Xcode update I can't work with images自上次 Xcode 更新以来,我无法使用图像
【发布时间】:2017-09-24 04:16:44
【问题描述】:

这是我用来将名为“Background.png”的图像添加到 UIImageView 的基本代码:

UIImageView *imageView = [[UIImageView alloc] init];

imageView.image = [UIImage imageNamed:@"Background.png"];

imageView.frame = CGRectMake(0.0, 0.0, self.view.frame.size.width, self.view.frame.size.height);

[self.view addSubview:imageView];

自上次 Xcode 更新以来,资源无法加载。

我尝试在 iPhone 6 - iOS 10.3 和模拟器 - iOS 11.0 上运行

出于某种原因,即使 iOS 部署目标是 10.3 版,模拟器也可以在 iOS 11.0 上运行

图像在那里,与名为“Background.png”的项目位于同一文件夹中

我多年来一直在做同样的事情,现在它已经停止工作了。

有人遇到过类似的问题吗?

【问题讨论】:

  • 您没有实际说明具体问题是什么。你是想说[UIImage imageNamed:@"Background.png"]; 正在返回nil
  • 图片不显示。只有 UIImageView 的背景颜色看起来好像根本没有图像。如果我设置 imageView.backgroundColor = [UIColor redColor];然后我只看到一个红屏,什么都没有。
  • 这并没有回答我的问题(认为它确实暗示了答案)。 [UIImage imageNamed:@"Background.png"]; 很可能返回 nil,这意味着您的 Background.png 图像不在您的应用程序包中。
  • 我测试了它,图像为零。虽然我已经按照我多年来一直这样做的方式将图像添加到应用程序包中。
  • 确保图像仍被选中作为您的目标。

标签: ios objective-c xcode


【解决方案1】:

您可能想利用Assets.xcassets 的用途。将您的资产放在那里,您可以轻松地使用您的图像。请注意,您不必输入图像的文件扩展名。很简单,就像这样:

UIImage *markerImage = [UIImage imageNamed:@"marker"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:markerImage];
[imageView setFrame:CGRectMake(0, 0, 100, 100)];
[self.view addSubview:imageView];

我的Assets.xcassets 中有一张图片,名为ma​​rker

编辑:这是经过测试的,我为这个问题做了一个 Objective-c 项目:)

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,我解决了如下:

    只需选择您的图片,然后在“目标会员”(在右侧窗口)中选中链接到您的项目名称的框

    它工作吗? 如果需要,有一个屏幕截图: https://i.stack.imgur.com/gTOGJ.png

    【讨论】:

    • 我按照你的回答,图像仍然为零。
    猜你喜欢
    • 1970-01-01
    • 2016-08-16
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    相关资源
    最近更新 更多