Работает на iPhone Simulator, но не на устройстве
здесь я addsubviews (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 ответов
- убедитесь, что вы пишете правильные имена файлов, iOS чувствительна к регистру, симулятор-нет.
- убедитесь, что у вас есть правильные файлы retina, если вы тестируете на iPhone4
Я нашел ответ в документации:
чувствительность к регистру: iPhone OS использует файловая система с учетом регистра, в отличие от Симулятор, который использует файловая система без учета регистра по умолчанию. Убедитесь, что регистра ресурсов в коде соответствует имени файла чувствительность к регистру.
например, если наше имя "YourExampleImage.png":
Добрый: [Объектами UIImage imageNamed:@ " YourExampleImage.png"]
Плохой: [Объектами UIImage imageNamed:@ " YourExampleImage.PNG"]
Плохой: [Объектами UIImage imageNamed:@ " yourexampleimage.png"]
поэтому я просто должен убедиться, что мои имена изображений совпадают с моими ресурсами. Поэтому в моем случае я должен поставить 5Chip вместо 5chip.
вы собираетесь использовать свое изображение, только имена. Не с расширением изображения. Вы должны использовать полное имя изображения как
[UIImage imageNamed:@"a.png"];
убедитесь, что имя изображения совпадает с именем, сохраненным в папке ресурсов.