UITableViewCell imageView no se muestra
Frecuentes
Visto 14,297 veces
7
Así que tenía el siguiente código:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *CellIdentifier = @"FriendsCell";
FriendData * fd = [self.friendsDataSource_ objectAtIndex:indexPath.row];
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
[cell.imageView setImageWithURL:[NSURL URLWithString:fd.imageUrl_]];
[cell.imageView setFrame:CGRectMake(0, 0, 30, 30)];
[cell.textLabel setText:fd.name_];
return cell;
}
Sin embargo, no veo imageView en la celda. ¿Qué estoy haciendo mal?
4 Respuestas
5
También tengo el mismo problema con SDImageCache. Mi solución es poner una imagen de marcador de posición con el tamaño de marco que desee.
UIImage *placeholder = [UIImage imageNamed:@"some_image.png"];
[cell.imageView setImage:placeholder];
[cell.imageView setImageWithURL:[NSURL URLWithString:fd.imageUrl_]];
Respondido el 11 de junio de 12 a las 15:06
4
1) Establecer imagen con URL no es un método de iOS. Es algo personalizado y ese puede ser el problema. Pero hasta que lo publiques no puede ayudar allí.
2) Creo que cell.imageView ignorará "setFrame". No puedo hacer que eso funcione en ninguna de las celdas de mi tabla usando una imagen. Siempre parece predeterminado al ancho de la imagen.
3) Por lo general, configura la imagen usando cell.imageView.image = your_Image. ImageView es de SOLO LECTURA y probablemente el marco de ImageView sea privado.
4) Creo que necesitará crear una celda personalizada propia.
contestado el 23 de mayo de 12 a las 00:05
3
El uso de un método con marcador de posición lo arreglará.
[cell.imageView setImageWithURL:[NSURL URLWithString:fd.imageUrl_]placeholderImage:[UIImage imageNamed:@"placeholder"]];
Respondido el 30 de junio de 13 a las 08:06
2
necesitas return cell
al final del método
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *CellIdentifier = @"FriendsCell";
FriendData * fd = [self.friendsDataSource_ objectAtIndex:indexPath.row];
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
[cell.imageView setImageWithURL:[NSURL URLWithString:fd.imageUrl_]];
[cell.imageView setFrame:CGRectMake(0, 0, 30, 30)];
[cell.textLabel setText:fd.name_];
return cell;
}
contestado el 22 de mayo de 12 a las 21:05
De hecho, lo hice... simplemente lo corté. adit
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas iphone ios objective-c ipad afnetworking or haz tu propia pregunta.
veamos tu método -setImageWithURL - shabbirv
Junto con ver
setImageWithURL:
, estás seguro quefd.imageUrl_
no es nulo? - WrightsCSsí, la url es válida y no es nula - adit