2012-06-21 4 views
4

У меня есть небольшой png, который я добавляю к представлению, которое я уверен, что раньше работал, но внезапно прекратил работу над самим iPad, продолжая отлично работать на iPad тренажер.Изображение показано в iPad-симуляторе, но не в устройстве

Вот код, я использую, чтобы добавить изображение в представление ...

UIImageView *bottomResizer = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"resizeLine.png"]]; 
    bottomResizer.center = CGPointMake(bottomResizer.center.x, bottomResizer.center.y+self.frame.size.height-12); 
    bottomResizer.tag = 301; 
    [self addSubview:bottomResizer]; 
    [bottomResizer release]; 

Это происходит в случае UIGestureRecognizerStateBegan. Следующий код удаляет изображение в событии touchhesEnded без каких-либо ошибок, даже если вы его не видите.

NSArray *subViews = [self subviews]; 
int count = [subViews count]; 
for (int i =count-1; i>=0; i--) { 
    if([[subViews objectAtIndex:i] tag] == 301) { 
     [[subViews objectAtIndex:i] removeFromSuperview]; 

    } 
} 

Я не думаю, что это все, что я изменил в своем коде, поскольку он работает в симуляторе. Не знаете, где искать следующую проблему. Я сбросил симулятор, чтобы проверить, не сломается ли он после сброса. Я также очистил проект.

Спасибо.

Джон

+1

Двойная проверка, чтобы убедиться, что resizeLine.png не поврежден. Иногда изображения могут слегка искажаться и по-прежнему работать на симуляторе, но не на устройстве. Попробуйте вставить новое изображение и посмотрите, есть ли у вас такая же проблема. – Jeremy1026

+0

Если я использую другое изображение, он отлично работает. Спасибо, изображение искажено каким-то образом. См. Мой комментарий к ответу logancautrell. Любые предложения по его исправлению? – user278859

ответ

1

Поставьте точку останова после этой строки UIImageView *bottomResizer = [[UIImageView alloc]...

Затем на консоли «ро [bottomResizer изображения]»

Если ноль, то либо ресурс не получает скопирована правильно в или вы можете иметь поврежденное изображение, которое устройство не может загрузить.

+0

Достаточно, чтобы изображение было ноль на ipad, но не симуляторе. Любое предложение о том, как решить проблему. Прочитав сообщение, я открыл png в программе рисования и сохранил его в новом файле, чтобы заменить его в моем проекте. Я также сбросил iPad ... Нет радости. – user278859

+0

Попробуйте преобразовать в другой формат, а затем обратно в png. – logancautrell

+0

Это было! Я перешел в gif и вернулся к png. Благодаря!! – user278859

Смежные вопросы