【问题标题】:Image not showing in UIImageView in Interface Builder / iPhone图像未显示在 Interface Builder / iPhone 的 UIImageView 中
【发布时间】:2011-02-08 16:07:44
【问题描述】:

我有一个UIView 和一个UIImageView 拖到视图上。突然之间,对于我所有的 xib,图像不再显示。有一个蓝色的 X。但是,当它构建时,图像就在那里。

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

我在 Inspector 的下拉菜单中看到的只是我想要的一张图片,但这也是一张没有显示的图片。就像我说的,如果我在设备或模拟器上构建它,一切都会正常。

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

那么我如何让 Xcode 和 IB 重回正轨,并查看它应该在 XIB 中正确看到哪些资产?

【问题讨论】:

  • 您是否尝试过“清除所有目标”?

标签: iphone xcode interface-builder uiimageview


【解决方案1】:

尝试清理并重建项目。

如果仍然无法正常工作,则从 Xcode 中删除所有图像(仅选择删除参考),然后通过将这些图像拖到 Xcode 中来重新添加它们。然后重新构建它,它应该可以工作。

【讨论】:

  • 这有帮助。我还注意到,有时我只需要退出 Xcode 并重新启动即可解决此问题。伤心!
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    我多次遇到这个问题。并且将项目目录复制到桌面,重命名原始文件夹,从新位置打开项目并将其再次移动到原始目录,每次都有帮助。所有这些“加载所有头文件”解决方案有时有效,有时无效

    【讨论】:

      【解决方案4】:

      仅供参考:我遇到了类似的问题。在某些时候,图像已损坏,它们都是透明的 PNG!

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

      【讨论】:

        【解决方案5】:

        刚刚遇到这个问题。在 Adob​​e Illustrator 中导出相同的图像。一个是透明的,另一个是白色的。透明的出现了一个大大的蓝色问号。运行它,但是效果很好。与 IB 和透明 PNG 有关

        【讨论】:

          【解决方案6】:

          我的秘诀:CLEAN + Build + QUIT XCODE 然后重新打开它!

          瞧!!就在那里!

          【讨论】:

            【解决方案7】:

            只是为了记录(因为对我没有任何作用):

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

            使用btn-category-6.jpg 解决了这个问题!

            【讨论】:

              【解决方案8】:

              这发生在我将图像移动到 xcasset 时。我通过删除检查器上的 png 和 jpg 扩展名来解决它。

              【讨论】:

                【解决方案9】:

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

                【讨论】:

                  【解决方案10】:

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

                  按照以下步骤操作:

                  第 1 步:

                  第 2 步:

                  第 3 步:

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

                  【讨论】:

                    【解决方案11】:

                    属性检查器中我的图片名称末尾缺少 .png

                    在清理、重新导入和检查正确映射的资产后,没有任何效果,尽管我发现在属性面板中图像名称末尾输入 .png 后我的图像(这是一个 png)出现了。

                    【讨论】:

                      【解决方案12】:

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

                      【讨论】:

                        【解决方案13】:

                        如果您设置了所有 1x、2x 和 3x 图像,清理并构建了项目,但仍然无法正确显示,请退出 Xcode 并强制退出,然后再次打开 Xcode。只需一个简单的 Xcode 重启对我有用。

                        【讨论】:

                          【解决方案14】:

                          确保您的资源与您在 Xcode 的 Interface Builder 文件中查看的屏幕尺寸相匹配的图像比例。如果您在 Xcode 中使用资产目录,则图像资产有 @1x、@2x 和 @3x 点,或者,如果您不使用它,那么您应该通过文件名区分不同的资产(例如“ image.png, image@2x.png, image@3x.png)。

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

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

                          【讨论】:

                            【解决方案15】:

                            确保在将图像拖入项目时已将其添加到目标。因为 Xcode 的文件夹/组/项目系统有问题,请单击图像并检查它是否实际添加到检查器中的目标构建中,如图所示(图形问题需要图形答案!):

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

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

                            背景图片在 Interface Builder 中显示得很好...

                            但是当我们运行时,除了我们设置的背景颜色之外什么都没有……没有图像……

                            单击 Interface Builder 中的 UIImageView 并使用检查器,我们向下滚动并发现实际上它从未像第 2 步中清楚显示的 Xcode 那样添加到目标...

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

                            然后我们构建并运行,瞧!我们的图像在 UIImageView 中准确地显示在它应该显示的位置。

                            这让我在一天中的大部分时间都发疯了,直到我尝试添加代码以查看它是否是一个易碎的图像。我通过创建下面的 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 ]; }
                            

                            注意:如果您的按钮未显示自定义图像,这可能是同样的问题...

                            【讨论】:

                            • 我不得不点击 iOS 11 中的目标会员资格,即使我在添加图像时检查了这一点。 iOS 11 是有史以来最伟大的突破性版本。
                            【解决方案16】:

                            我遇到过几次这个问题——有时(我不太清楚为什么......),Xcode 似乎忘记了 UIImageView 和文件夹中的图像之间的链接。

                            然后可能就像转到该图像视图的属性检查器一样简单,如果图像框显示“未知图像”,则重新选择正确的图像!

                            【讨论】:

                              【解决方案17】:

                              如果这些答案都不起作用,一个可能的原因可能是: 如果您使用 UIButton 并在其中显示图像,请确保该按钮没有标题。它将显示一个椭圆 (...),因为按钮标题正在被截断。

                              【讨论】:

                                【解决方案18】:

                                对我来说,问题是,我可以在 Show the media library 上看到新添加的图像文件,但在我的按钮 Image 的下拉列表中看不到

                                对我来说,解决方案是手动输入名称。当我开始在文本框中输入图像名称时,它会自动完成它,就是这样。 |

                                PS:在这样做之前我也实现了所选的解决方案

                                【讨论】:

                                  【解决方案19】:

                                  对我来说,我只需要单击我的资产并简要查看那里的图像。然后我返回故事板并填充图像。

                                  【讨论】:

                                    猜你喜欢
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2019-04-27
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 1970-01-01
                                    相关资源
                                    最近更新 更多