ios - 图像的 iPad 后缀不起作用

标签 ios iphone objective-c ipad

我正在 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.jpgcity5~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];

如果这些都不起作用,我会怀疑您的问题是以下三件事之一:
  • 您尝试加载的图像在您的捆绑包中不存在。因此,请确保图像实际上在您的项目中,并确保通过单击文件并选择它所属的目标来检查目标。
  • 确保您没有拼写错误的图像名称。
  • 或者您正在使用视网膜显示器但没有@2x 图像。尝试将您的模拟器更改为视网膜,看看它是否出现。

  • 作为最后的手段,尝试做UIImage *backgroundImage = [UIImage imageNamed:@"city5~ipad"];
    你也尝试做self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"city5"]];

    关于ios - 图像的 iPad 后缀不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23111528/

    相关文章:

    ios - 当我从纵向模式更改为横向模式时,按钮背景图像消失

    iOS 转化/安装跟踪

    ios - 使用 ContactsUI 快速获取所有联系电话号码

    iPhone SDK : NSMutableArray count causes EXC_BAD_ACCESS

    iphone - isMemberOfClass Terminology - 为什么这样命名?

    iphone - 使用社交框架在 iOS 5 上启动应用程序会导致崩溃

    iphone - 阻止 UISearchDisplayController 放弃第一响应者键盘

    iPhone : JSON message not creating correctly

    objective-c - 核心数据 : Traverse managed objects relationships with an abstract entity in-between

    ios - 如何在AFNetworking中使用AFHTTPClient设置超时间隔?