【发布时间】:2026-02-21 07:35:01
【问题描述】:
我有一个图像视图,其中一个图像被选为背景。每次我运行应用程序时,控制台都会显示
'could not load image from nib'.
它只对一张与 iPhone 5 分辨率大小相同的照片执行此操作。如果我更改照片,它可以正常工作。为什么会这样,我该如何解决?
如果没有人知道我在说什么,你能告诉我如何在代码中制作背景图片吗?
提前致谢。
【问题讨论】:
我有一个图像视图,其中一个图像被选为背景。每次我运行应用程序时,控制台都会显示
'could not load image from nib'.
它只对一张与 iPhone 5 分辨率大小相同的照片执行此操作。如果我更改照片,它可以正常工作。为什么会这样,我该如何解决?
如果没有人知道我在说什么,你能告诉我如何在代码中制作背景图片吗?
提前致谢。
【问题讨论】:
我假设您的第一种方法是尝试通过 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”是图像文件的文件名。
【讨论】: