0

我有一个图像丢失的问题,但只有在为分发而构建时。此外,它只发生在 iPhone 5 上,而不发生在 iPhone 4 或 4S 上。

是在模拟器上为开发而构建的屏幕截图。

这是在实际 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];
}

buildBackgroundImage在 init 函数中调用。

4

1 回答 1

2

我不是 100% 确定情况仍然如此,但我知道它曾经是:

iOS 模拟器对于外部文件名(例如您的图像)不区分大小写。因此,如果图像名为“myImage.png”并且您的程序要求输入“MyImage.png”,模拟器将正确找到并加载图像

但是,当您尝试在设备上运行它时,它区分大小写,并且不会接受大小写错误的文件。

因此,请仔细检查您对文件本身的大小写是否与您在程序中要求的相同。希望这会立即解决您的问题。

于 2013-08-15T22:09:43.350 回答