Как я могу заставить UIImageView изменить свое изображение программно? - PullRequest
5 голосов
/ 01 апреля 2009

У меня есть этот код:

- (void)viewDidLoad {
[super viewDidLoad];
landscape.image = [UIImage imageNamed:@"tenerife1.png"];
}

Сначала я создал UIImageView с IBOutlet. Пейзаж указывает на это UIImageView. В InterfaceBuilder я сказал показать конкретное изображение в этом UIImageView. Это никогда не меняется. Я всегда вижу изображение, которое я указал в InterfaceBuilder. Но я хочу установить это программно. Как я могу это сделать?

Ответы [ 4 ]

4 голосов
/ 01 апреля 2009

Попробуйте вызвать setNeedsDisplay на представлении после изменения изображения:

   [landscape setNeedsDisplay];
2 голосов
/ 11 апреля 2009

Добавьте этот код, он может вам помочь:

-(void)viewDidAppear:(BOOL)animated 
{
landscape.image = [UIImage imageNamed:@"tenerife1.png"];
}
1 голос
/ 10 марта 2012

Не забывайте о связи между viewview и владельцем файла в InterfaceBuilder.

после этого вам нужно только:

landscape.image = [UIImage imageNamed:@"tenerife1.png"];
1 голос
/ 27 мая 2009

возможно, у вас не было настроенного пользовательского представления для этого файла пера? У меня такая же проблема. Я создал подкласс UIview для этого контроллера представления, зашел в Interface Builder и установил представление для этого подкласса UIView, а затем добавил заголовок импорта для UIView в класс Controller. вот что это сделал для меня

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