У меня есть приложение для викторины, которое я создал, и я получил сообщения об ошибках по некоторым вопросам с изображениями, которые не были правильно выложены. У меня проблема в том, что в разработке этого не происходит. Отчет об ошибке на втором поколении Ipod Touch работает 4.2.1 Мне удалось получить один для тестирования.
Вот скриншоты из версий для разработки и распространения.
http://farm8.staticflickr.com/7169/6501675055_1ea8c3d18b.jpg
http://farm8.staticflickr.com/7015/6501727253_ddc0fb616f.jpg
(очевидно, я недостаточно доверяю для публикации изображений)
Это то, что я написал, чтобы создать и расположить эти кнопки
for (int i =0; i < question.buttonTitles.count; i++) {
NSLog(@"add images for answer: %@", [question.buttonTitles objectAtIndex:i]);
UIImage * image = [UIImage imageNamed:[question.buttonTitles objectAtIndex:i]];
float x = 0.0f;
float y = 0.0f;
float width = image.size.width;;
float height = image.size.height;
NSLog(@"%@", NSStringFromCGSize(image.size));
if (question.buttonTitles.count != 4) {
x = (293.0 - width) / 2.0;
y = questionLabel.frame.origin.y + questionLabel.frame.size.height + (i * height) + (12 * (i));
}else{
switch (i) {
case 0:
x = (self.frame.size.width/2) - 7 - width;
y = (self.frame.size.height/2 + questionLabel.frame.size.height/2) - 7 - height;
break;
case 1:
x = (self.frame.size.width/2) + 7;
y = (self.frame.size.height/2 + questionLabel.frame.size.height/2) - 7 - height;
break;
case 2:
x = (self.frame.size.width/2) - 7 - width;
y = (self.frame.size.height/2 + questionLabel.frame.size.height/2) + 7;
break;
case 3:
x = (self.frame.size.width/2) + 7;
y = (self.frame.size.height/2 + questionLabel.frame.size.height/2) + 7;
break;
}
}
UIButton *imageButton = [UIButton buttonWithType:UIButtonTypeCustom];
imageButton.frame = CGRectMake(x, y, width, height);
[imageButton setImage:image forState:UIControlStateNormal];
[self addSubview:imageButton];
SEL functionName;
functionName = NSSelectorFromString([buttonFunctions objectAtIndex: i]);
[imageButton addTarget:self action: functionName
forControlEvents:UIControlEventTouchUpInside];
}