Cómo cambiar el color de un UITableViewCell a azul cuando está seleccionado

Utilizo un UITableView en mi aplicación y el requisito es que cuando presiono una celda de mi UITableView para ir a la siguiente vista, el color de esa celda en particular debe cambiarse a azul.

¿Cómo puedo hacer esto? Lo siguiente es mi código.

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {

    static NSString *MyIdentifier = @"dealsCC";
    dealsCC *cell = (dealsCC *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
    [cell selectionStyle:UITableViewCellSelectionStyleBlue];
}

Por favor dime,

gracias de antemano.

preguntado el 08 de noviembre de 11 a las 11:11

6 Respuestas

Establezca el estilo de selección.

[cell setSelectionStyle:UITableViewCellSelectionStyleBlue];

respondido 08 nov., 11:15

en didselectrowAtIndexPath tienes que escribir este código

UITableViewCell *cell = [table cellforRowAtIndexPath:indexPath.row];
[cell setSelectionStyle:UITableViewCellSelectionStyleBlue];

respondido 08 nov., 11:15

He probado esto pero no funciona, ¿hay algún otro método? - iPhone

escriba el siguiente código en cellforRowAtIndexPath [cell setSelectionStyle: UITableViewCellSelectionStyleBlue]; - Tendulkar

NSString estático * MyIdentifier = @ "DealsCC"; ofertasCC * celda = (ofertasCC *) [tableView dequeueReusableCellWithIdentifier: MyIdentifier]; [tableView deselectRowAtIndexPath: indexPath.row animada: SÍ]; [estilo de selección de celda: UITableViewCellSelectionStyleBlue]; - iPhone

eliminar la línea de [tableview deselectrowAtindexpath: indexPath.row animado: YES]; // esto es para eliminar la selección de una celda de vista de tabla - Tendulkar

limpiar los objetivos y ejecutarlo. - Tendulkar

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"myCellId";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        UIView *v = [[[UIView alloc] init] autorelease];
        v.backgroundColor = [UIColor redColor];
        **cell.selectedBackgroundView = v;**
    }
    // Set up the cell...
    cell.textLabel.text = @"foo";
    return cell;
}

respondido 08 nov., 11:16

Yeap. Lo hago asi

    UIView *bgColorSelected = [[UIView alloc] init];
    [bgColorSelected setBackgroundColor:[UIColor colorWithRed:180.0f/255.0f green:36.0f/255.0f blue:21.0f/255.0f alpha:1.0f]];
    cell.selectedBackgroundView = bgColorSelected;
    [bgColorSelected release];
    cell.backgroundColor = [ UIColor clearColor]; 

respondido 08 nov., 11:16

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell =
    [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                      reuseIdentifier:CellIdentifier];
    }

    cell.selectionStyle = UITableViewCellSelectionStyleBlue;

    return cell;
}

respondido 27 nov., 12:09

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{
    cell.selectionStyle = UITableViewCellSelectionStyleBlue;
}

Respondido el 12 de enero de 15 a las 17:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.