【问题标题】:Why won't my image load when i run my app?为什么我运行我的应用程序时不会加载我的图像?
【发布时间】:2026-02-21 07:35:01
【问题描述】:

我有一个图像视图,其中一个图像被选为背景。每次我运行应用程序时,控制台都会显示

'could not load image from nib'. 

它只对一张与 iPhone 5 分辨率大小相同的照片执行此操作。如果我更改照片,它可以正常工作。为什么会这样,我该如何解决?

如果没有人知道我在说什么,你能告诉我如何在代码中制作背景图片吗?

提前致谢。

【问题讨论】:

    标签: ios image


    【解决方案1】:

    我假设您的第一种方法是尝试通过 Interface Builder 将图像设置为 imageView。在这种情况下,请检查文件名是否正确,并进行干净的构建以确保您的包中不存在任何旧版本的图像。请记住,文件名区分大小写。别的,看看 https://*.com/a/5842298/1740354

    其次,您可以通过编程方式设置它,如下所示: 在这里,您将在 viewDidLoad 方法内的代码中创建图像视图,因此您必须删除通过界面生成器添加的图像视图。

    UIImageView *imageview1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"YourImageFilename.png"]];
    
    [imageview1 setFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, self.view.frame.size.height)]; // This will decide the size of your imageview.
    
    [self.view addSubview:imageview1]; // This has to be added in order to see the imageview in your view.
    

    另外,如果您想使用您在界面构建器中创建的图像视图,那么您必须创建一个从 nib 到您的视图控制器的 IBOutlet,然后使用以下相同的名称:

    [self.imageIBOutlet setImage:[UIImage imageNamed:@"yourImageFilename.png"]];
    

    其中 imageIBOutlet 将是从笔尖到视图控制器的 imageView 的 IBOutlet,“yourImageFilename.png”是图像文件的文件名。

    【讨论】:

    • 我收到一条错误消息,提示未使用变量 imageview1?
    • 已经用另外两行更新了答案,以设置图像视图的框架(大小),并将其添加到应用当前显示的主视图中。
    最近更新 更多