我遇到了丢失图像的问题,但仅在构建用于分发时才出现问题。此外,它仅发生在iPhone 5上,但不适用于iPhone 4或4S。
This是在模拟器上为开发而构建的屏幕截图。
this是在实际的iPhone 5上构建用于分发的屏幕截图。
我有一个开发和分发的目标。相关代码:
int deviceNumber = 4;
if([UIScreen mainScreen].bounds.size.height > 500)
deviceNumber = 5;
MYIntroductionView *introductionView = [[MYIntroductionView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.bounds.size.width, self.view.bounds.size.height) panels:@[panel1,panel2,panel3]];
if(deviceNumber == 4){
[introductionView setBackgroundImage:[UIImage imageNamed:@"One Degree_Iphone4_Background.png"]];
}
else{
[introductionView setBackgroundImage:[UIImage imageNamed:@"One Degree_Iphone5_Background.png"]];
}
在MyIntroductionView.m中,相关代码是:
-(void)setBackgroundImage:(UIImage *)backgroundImage{
self.BackgroundImageView.image = backgroundImage;
}
-(void)buildBackgroundImage{
self.BackgroundImageView = [[UIImageView alloc] initWithFrame:self.frame];
self.BackgroundImageView.backgroundColor = [UIColor clearColor];
self.BackgroundImageView.contentMode = UIViewContentModeScaleToFill;
self.BackgroundImageView.autoresizesSubviews = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
[self addSubview:self.BackgroundImageView];
}
在init函数中调用 buildBackgroundImage
。
答案 0 :(得分:2)
我不是100%确定仍然如此,但我知道它曾经是:
iOS模拟器在外部文件名(例如图像)方面不区分大小写。因此,如果图像名为“myImage.png”并且您的程序要求“MyImage.png”,则模拟器将正确查找并加载图像。
但是,当您尝试在设备上运行它时, 区分大小写,并且不接受错误的文件。
因此请仔细检查您的文件大小本身是否与您在程序中要求的大小相同。希望这会解决你的问题。