Невозможно программно отобразить изображение в UIImageView (iPhone) - PullRequest
0 голосов
/ 12 августа 2010

Я разрабатываю приложение для iPhone, но натолкнулся на загадку.

NSString *fileLocation = [[NSBundle mainBundle] pathForResource:@"happy.1" ofType:@"jpg"];
UIImage *new_image = [UIImage imageWithContentsOfFile:fileLocation]; 
[self setImage:new_image];

if (new_image == nil) {
    NSLog(@"can't load image happy.1.jpg");
}
bgImageView.image = image;

Это код, который я использую, чтобы показать изображение, но оно не появляется! new_image не nil, что я понимаю, что было бы, если бы он не мог загрузить изображение. bgImageView является IBOutlet и подключен в IB.

Пожалуйста, скажите мне, что я делаю не так. Спасибо!

Редактировать: также это не работает ни на симуляторе, ни на устройстве

Ответы [ 4 ]

0 голосов
/ 10 апреля 2012

Вы можете использовать imageview.image = [UIImage imageNamed: @ "imagename"];

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

0 голосов
/ 12 августа 2010

Итак, обычно это происходит потому, что изображения не копируются во встроенный исполняемый файл. Итак, откройте пакет приложения и посмотрите, есть ли они там.

Если тогда возможно проверить, что fileLocation не возвращается пустым / nil.

Интересно, вызывает ли ".1" проблему. Попробуйте переименовать файл изображения _1, _2 и посмотрите, исправит ли это.

0 голосов
/ 29 марта 2012
NSString *fileLocation = [[NSBundle mainBundle] pathForResource:@"happy.1" ofType:@"jpg"];
UIImage *new_image = [UIImage imageWithContentsOfFile:fileLocation]; 
bgImageView.image = new_image;
0 голосов
/ 12 августа 2010

image ноль?

Что не так с [UIImage imageNamed:@"happy.1.jpg"]?

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