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

更新xcode后,故事板中的所有图像都显示为问号(因为它没有find它们)。 我试图删除/添加它们,清除派生的数据,但仍然所有图像视图显示quesiton标记。 如果有人有什么想法可能是什么问题?

我有同样的问题,我发现,这是因为我没有与故事板中select“视图为”设备(左下angular)对应的大小的图像。

如果您select了需要@ 2x图像的设备(例如:iPhone 6s),并且只有@ 3x图像(就像我一样),您将看到问号。 如果为与故事板所使用的设备大小相对应的图像添加大小,则该图像将出现在imageView中。

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

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

您必须为您的图片使用xcassets目录:

1)访问Assets.xcassets

在这里输入图像说明

2)创build新的图像集或从列表中select并更新现有的

在这里输入图像说明

3)将您的图像变体放入@ 1x,@ 2x和@ 3x尺寸

在这里输入图像说明

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

 let image = UIImage(named: "NewImageName") 

那么我是在相同的情况,并知道Xcode 8故事板删除帧,这就是为什么图像不显示。 因此,你必须对uiimageviews设置适当的约束,然后你必须通过编写这段代码来强制约束。

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

如果您要处理的资产中只有3张图像,并且您已经将“初始设备视图”select到某个2x设备,请执行以下操作:

  1. 在Xcode 8中打开Storyboard文件。
  2. 转到文件检查器 – >接口生成器文档。
  3. 打开 – >selectXcode 7.x
  4. 保存并closures故事板。
  5. 再次打开故事板并select初始设备视图到iPhone6s Plus。