Как я могу установить изображение UIImageView, прежде чем представить представление? - PullRequest
2 голосов
/ 04 февраля 2011

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

FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];

Затем я хочу установить изображение, которое показывает представление вида, прежде чем я его представлю:

UIImage *image = [UIImage imageNamed: @"IMG_5010_2.jpg"];
[controller.imageView setImage:image];
[controller.label setText:@"HI"];//I am trying to do this too and it isn't working...

Но это просто не такза работой!!У кого-нибудь есть мысли по этому поводу?Пожалуйста, помогите !!

Спасибо

ПРИМЕЧАНИЕ. У меня действительно установлены атрибуты UIImageView и UILabel в представлении, которое я пытаюсь представить ...

Ответы [ 3 ]

4 голосов
/ 04 февраля 2011

Вы должны установить изображение в методе viewDidLoad соответствующего UIViewController , поскольку представление не будет существовать на этапе инициализации и будет отображаться к моменту вызова viewDidAppear.

1 голос
/ 04 февраля 2011

Возможно, вы могли бы попробовать это: добавьте два новых свойства в свой FlipsideViewController:

@property (retain) UIImage *image;
@property (copy) NSString *labelText;

Не забудьте синтезировать их в вашем FlipsideViewController.m. Затем, когда вы создаете экземпляр вашего FlipsideViewController:

FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
UIImage *image = [UIImage imageNamed: @"IMG_5010_2.jpg"];
controller.image = image;
controller.labelText = @"Hi";

и затем в вашем методе FlipsideViewController viewDidLoad вы можете присвоить значения в свойствах представлению IBOutlets:

- (void)viewDidLoad {
    //do other stuff
    [self.imageView setImage:self.image];
    [self.label setText:self.labelText];
    //any other stuff
}
0 голосов
/ 04 февраля 2011

Уверен, что ваши IBOutlets правильно подключены в nib-файле?

Предполагая, что вы поместили этот код в нужное место в вашем контроллере представления, это должно работать нормально. Так что либо вы находитесь не в том месте, где запускается этот код, либо конфигурируемые вами объекты не привязаны ни к каким объектам в nib. Это должна быть одна из этих двух вещей.

...