Ho una UISearchBar. Quando seleziono la cella, vorrei che l'intera cella avesse un [UIColor grayColor];iOS: Colore sfondo: UITableView e Accessorio hanno lo stesso colore di sfondo
Con il codice sottostante, il colore contentView appare in grigio; tuttavia, il colore di sfondo accessoryType presenta come blu:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [self.searchDisplayController.searchResultsTableView cellForRowAtIndexPath:indexPath];
cell.contentView.backgroundColor = [UIColor grayColor];
if (self.lastSelected && (self.lastSelected.row == indexPath.row))
{
cell.accessoryType = UITableViewCellAccessoryNone;
[cell setSelected:NO animated:TRUE];
self.lastSelected = nil;
} else {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
cell.accessoryView.backgroundColor = [UIColor grayColor]; // Not working
[cell setSelected:TRUE animated:TRUE];
UITableViewCell *old = [self.searchDisplayController.searchResultsTableView cellForRowAtIndexPath:self.lastSelected];
old.accessoryType = UITableViewCellAccessoryNone;
[old setSelected:NO animated:TRUE];
self.lastSelected = indexPath;
}
Come faccio a fare il Blue appaiono anche come [UIColor grayColor]?
Grazie per la spiegazione dettagliata. Anche se ho trovato una risposta più semplice: [cell setSelectionStyle: UITableViewCellSelectionStyleGray]; quello ha funzionato per il mio caso, sto presupponendo che la maggior parte della gente probabilmente accosentirebbe con la vostra risposta. Se puoi anche includere un codice per tenere traccia della cella selezionata, desidero contrassegnare la tua risposta come corretta. – user1107173
Esatto, stavo dando per scontato che volevi che la cella fosse dipinta con un colore personalizzato ma come hai indicato per il colore grigio '[cella setSelectionStyle: UITableViewCellSelectionStyleGray];' funziona altrettanto :-) – andreagiavatto
Sebbene la domanda fosse per selezionare una cella, Ho avuto quel problema con la vista accessoria molte volte! Per aggirarlo ho sottoclasse e disegnato un chevron simile. Questa spiegazione, oltre allo straordinario diagramma, mi ha aiutato ad aumentare il tempo. +1 di sicuro. Grazie @andreagiavatto! – Thawe