Cocoa Touch - Adicionando um UIImageView programaticamente?
-
28-09-2020 - |
Pergunta
Como posso criar e posicionar uma nova visualização de imagem no objetivo-c?
Obrigado!
Eu tentei isso, mas não parece fazer nada ...
-(void)drawStars{ //uses random numbers to display a star on screen
//create random position
int xCoordinate = arc4random() % 10;
int yCoordinate = arc4random() % 10;
UIImageView *starImgView = [[UIImageView alloc] initWithFrame:CGRectMake(xCoordinate, yCoordinate, 58, 40)]; //create ImageView
starImgView.image = [UIImage imageNamed:@"star.png"];
[starImgView release];
Coloquei esse método no meu viewcontroller.Vejo algumas coisas em CG, preciso importar gráficos principais ou algo assim?(o que são gráficos básicos, afinal?)
Solução
Você está perguntando sobre a visualização de imagens do iPhone.Certo?Então tente isso
UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 100, 50)];
Isso criará uma visualização de imagem com dimensão 100 x 50 e localização (10, 10) da visualização pai.
Verifique o manual de referência para UIImageView e UIView.Você pode definir uma imagem usando imagem propriedade de imageView.
imgView.image = [UIImage imageNamed:@"a_image.png"];
E você pode usar o modo de conteúdo propriedade de UIView para configurar como ajustar a imagem na visualização.Por exemplo você pode usar
imgView.contentMode = UIViewContentModeCenterpara colocar a imagem desejada no centro da visualização.Os contentModes disponíveis estão listados aqui
Outras dicas
Você não adicionou sua visualização como uma subvisualização a outra visualização, o que significa que ela não está na hierarquia de visualizações.
Supondo que você esteja fazendo isso em um controlador de visualização, pode ser algo como:
[self.view addSubview: imgView];
(void)viewDidLoad {
[super viewDidLoad];
UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.layer.frame.size.width, self.view.layer.frame.size.height)];
imgView.image = [UIImage imageNamed:@"emptyCart.jpeg"];
imgView.backgroundColor = [UIColor whiteColor];
imgView.contentMode = UIViewContentModeCenter;
[self.view addSubview: imgView];
}
Tive problema em passar o valor NSSArray
para NSString
,
Eu obtive a resposta:
//Display all images....
NSString *imgstring= [self.allimages objectAtIndex:indexPath.row];
cell.myimages.image=[UIImage imageNamed:imgstring]; //displaying Images in UIImageView..noproblem.
// Display all numbers...
cell.mylables.text=[NSString stringWithFormat:@"%@", [mysetobjectAtIndex:indexPath.row ]]; //showing results fine ArghyA..