2011-02-14 31 views
16

tratando de encontrar la manera de configurar la imagen seleccionada para tableViewCell.UITableViewCell Establecer imagen seleccionada

La forma anterior de escribir esto era cell.selectedImage pero eso ha quedado en desuso desde 3.0.

He intentado varias cosas, pero no puedo hacerlo funcionar demasiado.

Gracias! Josh

Respuesta

9

Puede conjunto seleccionado backgroundView, como a continuación ....

 UIImageView *selBGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage.png"]]; 
       cell.selectedBackgroundView = selBGView; 
+0

bastante bueno en que uno ... Este es el resultado - http://cl.ly/2p1X0v3V1d2E133P3q0c –

2

Prueba esto ...

UIImage *bgImage = [UIImage imageNamed:@"icon_call.png"]; 
    UIImageView *bgImageView = [[UIImageView alloc] initWithImage:bgImage]; 

    [bgImageView setFrame:CGRectMake(280, 2, 30, 38)]; 

//Finally give this imageView to the cell 

    [cell.contentView addSubview:bgImageView]; 

espero que va a resolver su problema!

+0

impresionante! Gracias amigo Los coords de CGRect están un poco desconectados, pero no hay nada que no pueda solucionar. Gracias por su ayuda :) –

+0

@Joshua Russell su bienvenida! – Sudhanshu

+0

@Joshua Russell por qué no ha aceptado la respuesta ... fue aceptada por usted antes ... no es útil para usted – Sudhanshu

4

Eso no funcionó, ya que podría establecer la imagen estado normal como esto

cell.imageView.image = /// 

Inténtelo - A mí me funcionó a la perfección !!

UIImageView *selBGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage_selected.png"]]; 
cell.selectedBackgroundView = selBGView; 
[selBGView release]; 

UIImageView *BGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage.png"]]; 
cell.backgroundView = BGView; 
[BGView release]; 
+1

Gracias, es útil para nosotros. –

1

Uso ésta !:

selectionBackground = [UIImage imageNamed:@"background.png"]; 
cell.selectedBackgroundView =[[UIImageView alloc] init]; 
((UIImageView *)cell.selectedBackgroundView).image = selectionBackground; 
24

De acuerdo con el documento Deprecated UITableViewCell Methods, se debe utilizar la propiedad highlightedImage del imageView como un reemplazo para SelectedImage. Por ejemplo:

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; 
cell.imageView.image = [UIImage imageNamed:@"deselected_image.png"]; 
cell.imageView.highlightedImage = [UIImage imageNamed:@"selected_image.png"]; 
Cuestiones relacionadas