Como posso fazer UIImageView mudar a sua imagem por meio de programação?
-
22-08-2019 - |
Pergunta
Eu tenho esse código:
- (void)viewDidLoad {
[super viewDidLoad];
landscape.image = [UIImage imageNamed:@"tenerife1.png"];
}
Em primeiro lugar, eu criei um UIImageView
com IBOutlet
. Paisagem está apontando para que UIImageView
. Em InterfaceBuilder
Eu disse para mostrar uma imagem específica em que UIImageView
. Ele nunca muda. Eu sempre ver a imagem que eu especificado no InterfaceBuilder
. Mas eu quero configurá-lo de forma programática. Como posso fazer isso?
Solução
É possível que você não tem uma exibição personalizada criada para o arquivo nib? Eu tive o mesmo problema. Eu criei uma subclasse UIView para esse controlador de vista, entrou em Interface Builder e definir a fim de que UIView subclasse e, em seguida, adicionado um cabeçalho de importação para o UIView para a classe Controller. isso é o que fez por mim
Outras dicas
Tente chamar setNeedsDisplay na visão depois de alterar a imagem:
[landscape setNeedsDisplay];
Adicione este código, pode ajudá-lo:
-(void)viewDidAppear:(BOOL)animated
{
landscape.image = [UIImage imageNamed:@"tenerife1.png"];
}
Não se esqueça sobre a conexão entre ImageView e proprietário do arquivo no InterfaceBuilder.
é só você precisa depois que:
landscape.image = [UIImage imageNamed:@"tenerife1.png"];