我正在 xcode 5 中开发一个通用应用程序,并尝试为这两个应用程序设置背景图像。我使用的代码在 viewDidLoad
方法:
UIImage *backgroundImage = [UIImage imageNamed:@"city5.jpg"];
UIImageView *backgroundImageView=[[UIImageView alloc]initWithFrame:self.view.frame];
backgroundImageView.image=backgroundImage;
[self.view insertSubview:backgroundImageView atIndex:0];
两张图片的名称都是
city5~iphone.jpg
和 city5~ipad.jpg
.这些图像按预期适用于 iphone。但是 ipad 图像永远不会加载, View 只是保持空白。我在 ipad 2 上部署。
最佳答案
您的问题在 UIImage *backgroundImage = [UIImage imageNamed:@"city5.jpg"];
具体 imageNamed:@"city5.jpg"
当您使用 imageNamed:
它将寻找 .png
图片不是 .jpg
图像所以本质上你正在寻找文件city5.jpg.png
这显然是您想要的,所以将该行更改为 UIImage *backgroundImage = [UIImage imageNamed:@"city5"];
并将您的图像文件更改为 .png
.
如果您想保留为 .jpg
试试下面的。
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"city5" ofType:@"jpg"];
UIImage *backgroundImage = [UIImage imageWithContentsOfFile:filePath];
如果这些都不起作用,我会怀疑您的问题是以下三件事之一:
作为最后的手段,尝试做
UIImage *backgroundImage = [UIImage imageNamed:@"city5~ipad"];
你也尝试做
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"city5"]];
关于ios - 图像的 iPad 后缀不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23111528/