2014-09-22 3 views
0

Итак, у меня есть .xib-файл, который в основном просто содержит представление, а внутри него - прокрутку с помощью UIImageView и UIITextView. У меня есть выходы, подключенные к этим разделам.Невозможно установить свойство изображения UIImageView

По какой-то причине я не могу установить свойство изображения изображения. Ниже приведено описание того, как я создаю экземпляр контроллера представления в своем UITableview:

MyNewViewController *ssv = [[MyNewViewController alloc]initWithNibName:@"MyNewViewController" bundle:nil]; 
[[self navigationController]pushViewController:ssv animated:YES]; 
ScreenshotInfo *currentPic = [pics objectAtIndex:indexPath.row]; 
UIImage * pic = [UIImage imageWithData:currentPic.pic.imageData]; 
ssv.imageView.image = pic; 

// even doing like below does not work 
//ssv.imageView.image = [UIImage imageNamed:@"fbpic.png"]; 

Должно ли этого быть недостаточно?

Добавление UIImageView программно работает, но это не должно быть решением.

Настройка изображения в viewdidload работает, но мне нужны данные изображения с первого контроллера вида.

Любые предложения?

+0

Является ли 'imageView' ноль? – Larme

+0

Вы пробовали 'initWithNibName: nil'? Если nib и class называются одинаковыми, ОС автоматически загрузит правильный ниб. Вы должны избегать потенциальных опечаток, когда это возможно. – Clay

+0

ДА - получается, что изображение было нуль ... Но не должно ли оно создаваться автоматически, так как оно подключено к розетке? Добавить ответ Ларм ... Спасибо вам обоим. – Anders

ответ

0

Когда ваша программа работает от ssv.imageView.image = pic, свойство с именем imageView of ssv должно быть nil. Поскольку корневой вид ssv не загружен. Ваш код настройки изображения запускается в одном цикле запуска, а загрузка представления контоллера просмотра выполняется в следующем цикле выполнения. Вот почему вы устанавливаете изображение в viewDidLoaded, отлично работает. И вы должны установить свойства представлений nib в методе viewDidLoaded.

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