Ho un menù in questo modo:Come cambiare il colore di UITableViewCell quando si seleziona?
Lo stato normale (non selezionato) per ogni cella è un'immagine, lo stato selezionato è anche un'immagine (che assomiglia a quello blu di default). Tuttavia, mi piacerebbe aggiungere una terza immagine aggiuntiva, in modo che quando l'utente seleziona una cella, passa brevemente a quel terzo colore prima di diventare blu (selezionato).
Questo è il mio codice:
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView setBackgroundColor:[UIColor clearColor]];
NSString *cellIdentifier = @"MenuItemCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
}
UIImage *cellBackgroundNormal = [UIImage imageNamed:@"cell_menu_normal"];
UIImage *cellBackgroundSelected = [UIImage imageNamed:@"cell_menu_selected"];
UIImageView *cellBackgroundView = [[UIImageView alloc] initWithImage:cellBackgroundNormal];
UIImageView *cellBackgroundSelectedView = [[UIImageView alloc] initWithImage:cellBackgroundSelected];
cell.backgroundView = cellBackgroundView;
cell.selectedBackgroundView = cellBackgroundSelectedView;
[cell.textLabel setBackgroundColor:[UIColor clearColor]];
[cell.textLabel setTextColor:[UIColor whiteColor]];
[cell.textLabel setFont:[UIFont boldSystemFontOfSize:17.0]];
cell.textLabel.text = [self.menuItems objectAtIndex:indexPath.row];
return cell;
}
Come potete vedere, ho solo due stati, al momento. Non vedo come posso introdurre una sorta di cell.hoveredBackgroundView
per la terza immagine. Se qualcuno può aiutarmi a implementarlo, lo apprezzerei davvero.
Grazie, è tutto! Ho anche dovuto implementare 'didUnhighlightRowAtIndexPath' per gestire le modifiche alle immagini quando una riga viene deselezionata. – swiftcode
Potresti migliorare il codice per mostrare come cambiare il colore della cella per favore? :) – Lucien
@Lucien Ho aggiornato il codice. Provalo – Ayush