适用于iPhone模拟器但不适用于设备

时间:2010-10-29 08:48:11

标签: iphone uiview uiimageview

这里我添加了视图(UIImageViews),它可以在模拟器上运行但不在设备上(iOS 4.1)wtf!?

- (void)addChips:(int)value {
UIImage *chipImage;
switch (value) {
    case 5:
        chipImage = [UIImage imageNamed:@"5chip"];
        break;
    case 25:
        chipImage = [UIImage imageNamed:@"25chip"];
        break;
    case 100:
        chipImage = [UIImage imageNamed:@"100chip"];
        break;
    case 500:
        chipImage = [UIImage imageNamed:@"500chip"];
        break;
    default:
        break;
}

int chipCount = [chipsOnBet count];
UIImageView *addChip = [[UIImageView alloc] initWithImage:chipImage];
addChip.opaque = YES;
addChip.frame = CGRectMake((kStackOffset * chipCount) + 131, 268, 57, 57);
[self.view addSubview:addChip];
[chipsOnBet addObject:addChip];
[addChip release];
}

3 个答案:

答案 0 :(得分:19)

  1. 确保编写正确的文件名,iOS区分大小写,模拟器不是。
  2. 如果您在iPhone4上进行测试,请确保您拥有正确的视网膜文件

答案 1 :(得分:3)

我在文档中找到了答案:

  

区分大小写:iPhone OS使用了   区分大小写的文件系统,不像   使用的模拟器   不区分大小写的文件系统   默认。确保   访问资源的区分大小写   在代码中匹配文件名   区分大小写。

     

例如,如果我们的文件名是   “YourExampleImage.png”:

     

好:[UIImage   imageNamed:@ “YourExampleImage.png”]

     

坏:[UIImage   imageNamed:@ “YourExampleImage.PNG”]

     

坏:[UIImage   imageNamed:@ “yourexampleimage.png”]

所以我必须确保我的图像名称与我的资源相同。所以在我的情况下,我应该放5Chip而不是5chip。

答案 2 :(得分:0)

您将使用您的图片,仅限名称。没有图片扩展名。您应该使用完整的图像名称

[UIImage imageNamed:@"a.png"];

确保图像名称与您在资源文件夹中存储的图像名称相同。