来自Bundle的图片并未显示使用iPad Retina 64位和真实设备

时间:2014-08-24 21:45:28

标签: ios objective-c xcode ipad

我使用UIPageviewcontroller(滚动类型)创建了一个照片滚动应用程序,它使用viewcontroller来获取图像。该应用程序在iPad和iPad视网膜模拟器中工作正常。但它并没有在iPad视网膜64位和真实设备中显示任何图像。

我的代码是:

UIImageView *background =[[UIImageView alloc] initWithFrame:CGRectMake(0,0,screenHeightPortrait,screenWidthPortrait)];
NSString *imageFile = [[NSBundle mainBundle] pathForResource:self.mainImageLink ofType:nil];
background.image = [UIImage imageWithContentsOfFile:imageFile];
[self.view addSubview:background];

self.mainImageLink是一个NSArray元素。例如" image1.png"。

我试图在SO中找到解决方案并尝试:

  • 确保" image1.png"区分大小写正确且位于副本包资源内。
  • 删除" image1.png"从复制包资源,清除缓存,然后再次添加。
  • Put" image1.png"进入一个真正的文件夹,名为" images" (它在Xcode的蓝色文件夹图标中显示),确保它在复制包资源中,然后将self.mainImageLink更改为:" images / image1.png"
  • 尝试使用self.mainImageLink:" image1.png"进行上述试验。和NSString * imageFile = [[NSBundle mainBundle] pathForResource:self.mainImageLink ofType:nil inDirectory:@" images"];
  • 清除构建缓存(cmd + shift + option + k)
  • 使用rm -r / Users / User / Library / Developer / XCode / DerivedData /
  • 删除派生数据
  • 如果我是NSLog(@"图片:%@",imageFile);结果是:image: /Users/my_user/Library/Application Support/iPhone Simulator/7.1-64/Applications/E16A2B0F-F766-41E4-A973-67CA79ED0F9C/myApp.app/images/image1.png我确保它在复制包资源中并使用Finder找到图像

我错过了什么吗?真的很感激任何线索或提示..

非常感谢!

PS: 我使用XCode 5.1.1和SDK iOS 7 + OSX 10.8.5 + MBP 2.5Ghz Core2Duo

1 个答案:

答案 0 :(得分:0)

其他一些用户对64位设备也有同样的问题。尽管正确实现,但有些图像并未在64位设备中显示。

您可以查看此SO Answer。它可以解决你的问题。