How to change the blue highlight color of a UITableViewCell?
You can change the highlight color in several ways.
Change the selectionStyle property of your cell. If you change it to
UITableViewCellSelectionStyleGray
, it will be gray.Change the
selectedBackgroundView
property. Actually what creates the blue gradient is a view. You can create a view and draw what ever you like, and use the view as the background of your table view cells.
UITableViewCell
has three default selection styles:-
- Blue
- Gray
- None
Implementation is as follows:-
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *) indexPath {
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
}
Zonble has already provided an excellent answer.
I thought it may be useful to include a short code snippet for adding a UIView
to the tableview cell that will present as the selected background view.
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
UIView *selectionColor = [[UIView alloc] init];
selectionColor.backgroundColor = [UIColor colorWithRed:(245/255.0) green:(245/255.0) blue:(245/255.0) alpha:1];
cell.selectedBackgroundView = selectionColor;
- cell is my
UITableViewCell
- I created a UIView and set its background color using RGB colours (light gray)
- I then set the cell
selectedBackgroundView
to be theUIView
that I created with my chosen background colour
This worked well for me. Thanks for the tip Zonble.