在界面生成器/ iPhone中的UIImageView中未显示图像

问题描述:

我有一个UIView,并将UIImageView拖动到视图上。突然间,对于我所有的xib,图像不再显示。有一个蓝色的X.但是,当它建立时,图像就在那里。在界面生成器/ iPhone中的UIImageView中未显示图像

有一次,我删除并重新生成了所有图像,并将一些图像移动到Xcode的子文件夹中。通常情况下,当您选择UIImageView的图像时,IB允许您从项目中的任何图像中进行选择。但是,我无法在下拉列表中看到我放入该文件夹的任何图像。

我在Inspector的下拉列表中看到的是我想要的一个图像,但这也是没有出现的图像。就像我说的,如果我在设备或模拟器上构建它,它就可以工作。

有一些缓存或什么地方搞砸了。一切都没有错误。我清除了缓存并重建了。这一切都有效。没有错误或警告。但是......我看不到任何其他图像,IB仍然认为它缺少在下拉列表中明确选择的图像。

那么,如何让Xcode和IB重新走上正轨并看到它在XIB中应该看到的资产?

+0

您是否尝试“清除所有目标”? – 2010-04-16 03:21:40

尝试清洁和重建项目。

如果它仍然不工作,则从Xcode中删除所有图像(仅选择删除参考),然后通过将这些图像拖动到Xcode中再次重新添加它们。然后重新构建它,它应该工作。

+2

这有帮助。我也注意到,有时我只需要退出Xcode并重新启动以清除此问题。伤心! – 2016-08-25 17:14:58

我有相同的症状,但我只是将项目文件夹移动到桌面,从那里重新运行在IB的项目,它的工作!然后再次将它重新加入到同一个父文件夹中,使用不同的名称......很奇怪。

我有几次这个问题。然后将项目目录复制到桌面,重新命名原始文件夹,从新位置打开项目并将其移动到原始目录再次帮助。所有这些“加载所有头文件”的解决方案有时可以正常工作,有时候也不会

只是一个参考:我有类似的问题。在某些时候,图像被破坏,它们都是透明的PNG!

我替换了这些文件,现在它们再次显示。当我通过运行Windows XP的Oracle Virtual Box中的Windows资源管理器复制文件时,可能发生图像损坏。

刚刚遇到这个问题。在Adobe Illustrator中导出相同的图像。一个是透明的,另一个是白色的。透明的一个出现了一个很大的蓝色问号。运行它,但工作得很好。与IB和透明PNG有关的事情

我的收信人:CLEAN + Build +退出XCODE,然后重新启动它!

Voilá!在那!

仅仅是为了记录(因为没有什么工作对我来说):

我们只有视网膜图形在我们的项目。更新至XCode 5后,所有图像中都有一个白色问号(仅在Interface Builder中,而不是在Simulator中)。我们将图像源切换到non-retina,解决了这种情况!

enter image description here

使用btn-category-6.jpg解决的问题!

当我将图像移动到xcassets时发生这种情况。我通过删除检查器上的png和jpg扩展来解决它。

对我来说,这是因为图像在属性检查器中有一个“.png”。删除它解决了问题

在我的情况下,当我在Xcode 6中创建新项目时,我无法在模拟器和设备中显示图像。我已经导入了图像资源中的所有图像,并在其中创建了一个文件夹。现在,我已导入所有图像,现在所有图像都正常工作。所有图像现在都显示出来了。

遵循以下步骤:

步骤1:

Step 1:

步骤2:

Step 2

步骤3:

Step 3

然后导入您需要的图像。参考链接: StackOverflow link

其中.png从我的形象,名称的属性督察

清洗,重新导入和检查,其中正确映射资产后结束失踪,没有什么工作,但我发现一旦我在属性面板的图像名称末尾输入了.png,我的图像(这是一个PNG)就出现了。

enter image description here

确保您引用的图像资产实际存在。我像往常一样将我的文件添加到Xcode资产目录(.xcassets),但忘记将默认名称“Image”重命名为我在故事板中使用的名称。

它发生在我becayse我正在使用(使用命令⌘ + + )从Mac截图生成的图像。我使用它的文件扩展名手动更改为png

这就是为什么图像没有显示在我的情况。我重新保存了jpg格式的图像,并且它工作正常。

如果您已经设置了所有1x,2x和3x图片,清理并构建了项目并且仍然无法正确显示,请退出Xcode并强制退出,然后再次打开Xcode。只是一个简单的Xcode重新启动为我工作。

确保您的资产符合您在Xcode中的Interface Builder文件中查看的屏幕尺寸匹配的图像比例。如果您在Xcode中使用资产目录,或者如果您没有使用资产目录,那么图像资产包含@ 1x,@ 2x和@ 3x点,那么您应该根据文件名区分不同的资产(例如“ image.png,[email protected][email protected]

您可能没有多种资产规模,并且只提供了一种资产,比如1x或3x,并且您可能正在查看Interface Builder中的屏幕这是一种使用不同资产大小的设备类型,因此在Xcode中不会呈现图像。例如,我正在查看iPhone 7的界面,该界面使用2x,但资产只有3x版本。我添加了一个2x版本,它立即出现在Xcode的界面生成器中。

请注意,即使它不在Xcode中呈现,可能仍然在运行时正确渲染。尽管如此,以适合每种设备型号的分辨率提供资产是一种很好的做法。

确保在将图像拖动到项目中时将图像添加到目标。由于Xcode的文件夹/组/项目系统有错误,请单击图像并检查它是否实际添加到检查器中的目标版本(如图所示)(图形问题值得图解答案!):

将图像添加到该项目...

enter image description here

添加到目标...(或者我们认为)

enter image description here

背景图像很好地在Interface Builder显示...

enter image description here

但是,当我们跑,我们什么都没有,但我们设置背景颜色...没有图片...

enter image description here

点击的UIImageView在Interface Builder和使用检查员,我们向下滚动,发现实际上它从未添加到像Xcode清晰显示的步骤2中的目标中...

enter image description here

所以我们把它添加到目标...

enter image description here

我们构建并运行,瞧!我们的图像在UIImageView中完全显示在它想要显示的位置。

enter image description here

这驱使我坚果一天的大部分时间,直到我尝试添加代码去实现它,看它是否是一个古怪的形象。我通过创建下面的viewDidLoad实现来添加它,没有问题。

请注意,如果Xcode/Interface Builder按其应有的方式工作,则不需要此操作。无论是用户IB或使用此代码,而不是两个:

- (void)viewDidLoad { 
UIColor * theColor; 
UIImage * theImage; 

[super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 
theImage = [UIImage imageNamed:@"/<redacted>/background sea green gradent.png"]; 
theColor = [UIColor colorWithPatternImage: theImage ]; 
[self.view setBackgroundColor: theColor ]; } 

注意:这是同一个问题,如果你的按钮没有显示自定义图片...

+0

我不得不点击iOS 11中的目标成员资格,即使我在添加图像时检查了它。 iOS 11是有史以来最大的破解版本。 – coolcool1994 2017-10-03 20:00:05

我碰到这个问题跑几次 - 有时(我不太确定为什么...),Xcode似乎忘记了UIImageView和文件夹中图像之间的联系。

它可能就像去图像视图的属性检查器一样简单,如果图像框中显示'未知图像',则重新选择正确的图像!

UIImageView attributes inspector