Estoy tratando de colocar varias imágenes de tamaño dentro de imageView de UITableViewCell. Obtengo los datos de la imagen de manera asincrónica, creo la imagen, establezco el modo de contenido de imageView y finalmente establezco los límites de imageView. Pero el código parece insensible a cualquier cambio que realice. Quiero que las imágenes se centren en un área de 75x75. Escribí el código de abajo para este finCambiar los límites de imageView de UITableViewCell
UIImage* image = [UIImage imageWithData:data];
[holder.imageView setContentMode:UIViewContentModeCenter || UIViewContentModeRedraw];
[holder.imageView setImage:image];
[holder.imageView setBounds:CGRectMake(0,0,75,75)];
[holder.imageView setFrame:CGRectMake(0,0,75,75)];
[holder setNeedsLayout];
Dónde titular es el UITableViewCell. El resultado que obtengo es siempre el mismo. Todas las imágenes tienen 75px de altura y diferentes anchuras. ¿Alguien puede ayudarme a resolver este problema?
Me he dado cuenta de que establecer las propiedades de contentMode y bounds no tiene ningún efecto en ese código. He añadido un NSLog después de la última línea y conseguido los resultados que aparecen a continuación:
NSLog(@"imageview:%@ bounds and contentMode:%@ %@",[holder imageView],[holder.imageView bounds],[holder.imageView contentMode]);
imageview: < UIImageView: 0x39ab8a0; frame = (0 0; 75 75); opaco = NO; userInteractionEnabled = NO; capa = < CALayer: 0x39a92b0 >> límites y contentMode: (null) (null)
Aún ninguna solución
Bummer, pensé que podría forzarme a crear otra subclase UITableViewCell ... ¡gracias por dedicarme el tiempo para confirmarlo! –
Tengo que aceptar que esto es una gran pérdida de tiempo para que funcione como se espera. –
Mientras esto funciona, sigue siendo un truco. Uno esperaría que los marcos/límites se resolvieran a partir de las restricciones establecidas en la UITableViewCell personalizada. –