Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I change a UITableViewCell text color in it's highlighted state?

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
    if (selected) {
        companyLabel.textColor = [UIColor whiteColor];
        priceLabel.textColor = [UIColor whiteColor];
        changeLabel.textColor = [UIColor whiteColor];
        symbolLabel.textColor = [UIColor whiteColor];
    }
    else
    {
        companyLabel.textColor = [UIColor blackColor];
        priceLabel.textColor = [UIColor blackColor];
        symbolLabel.textColor = [UIColor blackColor];

        if([changeLabel.text doubleValue] < 0)
        {
           changeLabel.textColor = [UIColor colorWithRed:239.0/255.0 green:16.0/255.0 blue:52.0/255.0 alpha:1.0];
        }
        else if([changeLabel.text doubleValue] > 0)
        {
           changeLabel.textColor = [UIColor colorWithRed:77.0/255.0 green:161.0/255.0 blue:0.0 alpha:1.0];
        }
    }

}

My text doesn't turn white until AFTER the next view is in the process of being pushed onto the navigation stack.

I want it to turn white even as a user tap+holds a cell.

like image 551
Sheehan Alam Avatar asked Dec 04 '22 07:12

Sheehan Alam


1 Answers

UILabels have a highlightedTextColor property. When a view like a UITableViewCell goes into its highlighted state, all subviews, including your label, should automatically be changed to use their highlighted properties. If it's still not working there is a field for disabling that feature too that you would want to check on.

like image 167
kris Avatar answered Apr 12 '23 23:04

kris