Xcode:如何更改一个表格视图单元格的文本颜色

时间:2014-08-01 20:07:08

标签: objective-c xcode uitableview uidatepicker

我有一个表格视图,显示通过日期选择器设置的日期。我想将日期选择器日期与当前日期进行比较,如果日期选择器早于当前日期,我希望日期显示为橙色。我目前的代码有效,但它改变了单元格中的颜色,而不仅仅是较旧的代码。任何帮助将不胜感激。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSDate *today = [NSDate date];
    NSDate *Storeddate = [[NSUserDefaults standardUserDefaults] objectForKey:@"Datepicker"];
    NSComparisonResult result;

    result = [today compare:Storeddate];

    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    // Configure the cell...
    NSManagedObject *Data = [ArrayData objectAtIndex:indexPath.row];
    [cell.textLabel setText:[NSString stringWithFormat:@"%@", [Data valueForKey:@"dataattribute"]]];
    [cell.detailTextLabel setText:[NSString stringWithFormat:@"%@", [Data valueForKey:@"date"]]];

    if (result == NSOrderedDescending) {

        cell.detailTextLabel.textColor = [UIColor orangeColor];
    }
    else{
        cell.detailTextLabel.textColor = [UIColor blackColor];
    }

    return cell;
}

1 个答案:

答案 0 :(得分:1)

您的result每次都会比较相同的两个日期。你得到这样的两个值:

NSDate *today = [NSDate date];
NSDate *Storeddate = [[NSUserDefaults standardUserDefaults] objectForKey:@"Datepicker"];

这两个都是常量值(除非您在加载每个单元格之间的某个点更改Datepicker对象)。

我假设您想要将[Data valueForKey:@"date"]today进行比较。