I have a simple issue with UITableViewCell.
What I want is to change the text color of a selected cell.
In my cellForRowAtIndexPath method, I set:
cell.textLabel.textColor = [UIColor whiteColor];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.textLabel.highlightedTextColor = [UIColor orangeColor];
If the selectionStyle is UITableViewCellSelectionStyleNone, highlightedTextColor will not change.
So I use these two methods to set the text color:
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView cellForRowAtIndexPath:indexPath].textLabel.textColor = [UIColor orangeColor];
return indexPath;
}
- (NSIndexPath *)tableView:(UITableView *)tableView willDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView cellForRowAtIndexPath:indexPath].textLabel.textColor = [UIColor whiteColor];
return indexPath;
}
It works, but when scrolling the tableview, the color changes back.
Got the solution
by setting color in if (cell == nil) check
and
Thanks