Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde, estou montando um app que vai listar algumas imagens, em forma de tabela. +- como no instagram na parte qe você ve todas as fotos de uma pessoa.
No app eu criei uma UIScrollView para conter todas as imagens.
ficando assim:
int posX = 0;
int posY = 0;
int alturaTotal = 0;
int idImage = 0;
float largura = self.listaScrollView.frame.size.width;
float altura = 160 * (elementos / 2);//a altura é referente ao tamanho das imagens multiplicado pela quantidade de imagens div por 2 para gerar várias linhas com 2 imagens em cada linha
self.listaScrollView.contentSize = CGSizeMake(largura , altura);
self.listaScrollView.userInteractionEnabled = YES;
//inicia o for para montar as "linhas"
for(int i = 0;i < (elementos / 2);i++) {
//para cada linha existem duas imagens
for(int x = 0; x < 2; x++){
UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"logo.jpeg"]];
img.userInteractionEnabled = YES;
//cria tag para reconhecer objeto
[img setTag:idImage];
UITapGestureRecognizer *tapRecognizer;
tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageViewSelecionada:)];
// tapRecognizer.numberOfTapsRequired = 1;
tapRecognizer.delegate = self;
[img addGestureRecognizer:tapRecognizer];
//posiciona a imagem
img.frame = CGRectMake(posX, posY, 160, 160);
if(x % 2 == 0){
posY = alturaTotal;
posX = img.frame.size.width;
//incrementa a linha para ficar abaixo da outra exatamente
alturaTotal += img.frame.size.height;
}else{
posY = alturaTotal;;
posX = 0;
}
[self.listaScrollView addSubview:img];
idImage++;
}
}
A função que reconhece o tap é a seguinte:
UITapGestureRecognizer *tapGesture = (UITapGestureRecognizer *)aGesture;
UIImageView *tappedImageView = (UIImageView *)[tapGesture view];
NSLog(@"%d", tappedImageView.tag);
}
Como recentemente iniciei no desenvolvimento de apps não estou conseguindo identificar o pq de não estar funcionando. No momento fica tudo fixo mesmo, mais para frente estas imagens vão vir de um webservice.
o arquivo .xib já está indicado com o protocolo <UIGestureRecognizerDelegate>
Carregando comentários...