XCode 8 不在故事板中显示图像

XCode 8 doesn't show images in storyboard

更新后 xcode 故事板中的所有图像都显示为问号(因为找不到它们)。我尝试 remove/add 它们,清除派生数据,但所有图像视图仍然显示问号。如果有人知道可能是什么问题?

如果您 运行 您的项目和图像显示在模拟器中,这不是问题。有时您更改 size classes 然后也会发生这种情况。 例如,如果您使用多个尺寸 class,例如 wA,hAwC,hr,并且您为 any,anycompact,regular 设置了约束,并且如果您保留 any,any 在 interfacebulder 中选择然后它会正确显示图像,但是如果你将它更改为 compact,regular 那么它会因为 simulated metrics's size 而显示 question mark。所以,如果它不影响输出那么这不是问题!

您的图像必须使用 xcassets 目录:

1)访问Assets.xcassets

2) 创建新的 图片集 或从列表中选择并更新现有的

3) 将您的图片变体置于 @1x、@2x 和 @3x 尺寸:

在您的代码中调用您的图片,例如:

let image = UIImage(named: "NewImageName")

嗯,我遇到过同样的情况,后来知道 xcode 8 故事板会删除帧,这就是图像不显示的原因。因此,您必须对 uiimageviews 施加适当的约束,然后您必须通过编写此代码来强制约束。

UIImageView *uiv = [cell viewWithTag:100];
[uiv setNeedsUpdateConstraints];
[uiv setNeedsLayout];
[uiv layoutIfNeeded];

我遇到了同样的问题,我发现这是因为我没有与故事板(左下角)中选择的 "View as" 设备对应的尺寸图像。

如果您选择了需要@2x 图像的设备(例如:iPhone 6s)而您只有@3x 图像(就像我一样),您会看到问号。如果您添加与您用于故事板的设备尺寸相对应的图像尺寸,则该图像将出现在您的 imageView 中。

基本上,您想要所有 3 种尺寸的图像:@1x、@2x 和@3x。

如果您想要使用的资产中只有 3x 图像,并且您已经为某些 2x 设备选择了初始设备视图,请执行以下操作:

  1. 在 Xcode 8.
  2. 中打开故事板文件
  3. 转到文件检查器 -> Interface Builder 文档。
  4. 打开方式 -> Select Xcode 7.x
  5. 保存并关闭故事板。
  6. 再次打开故事板并选择初始设备视图到 iPhone6s Plus。