0

我正在使用 iphone 做我的项目,我在 (masterview) 中列出了一些事件,uitableview我将在 (detailview) 中显示详细信息viewController。我在表格视图中将文本显示为绿色,在阅读详细信息后,单元格内的数据应变为红色。将其通知为已读和未读。怎么做?请帮助我。这是我的 cellforrowindexpath

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"newsCell1";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }
        MainNews *msglist = [samplearray objectAtIndex:indexPath.row];
        cell.textLabel.text = msglist.newsletters;
        cell.textLabel.textColor = [UIColor greenColor];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
        return cell;
}

这是我的 didselectatrowindexpath 代码:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"NewsDetails"]) {
        NSIndexPath *indexPath = [tblView indexPathForSelectedRow];
        MainNewsDetailController *destViewController = segue.destinationViewController;
        MainNews *aEvent1 = [samplearray objectAtIndex:indexPath.row];
        destViewController.eveID = aEvent1.id;
        destViewController.usrid = memberid;

    }
}

那么如何在阅读详细信息后更改表格视图中的颜色。请帮助我提前谢谢

4

2 回答 2

0

您可以isReadMainNews模型类中拥有类似的 bool 属性。一旦选择阅读特定新闻,设置属性 isRead = YES。然后在 tableView:cellForRowAtIndexPath:数据源方法中检查属性以设置文本颜色。

您的代码可能如下所示

在 cellForRowAtIndexPath 内

    MainNews *msglist = [samplearray objectAtIndex:indexPath.row];
    if(msglist.isRead)
        cell.textLabel.textColor = [UIColor greenColor];
    else
        cell.textLabel.textColor = [UIColor redColor];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

在你的 prepareForSegue 里面

    MainNewsDetailController *destViewController = segue.destinationViewController;
    MainNews *aEvent1 = [samplearray objectAtIndex:indexPath.row];
    aEvent1.isRead = YES;

请注意:此答案仅检查用户是否点击了特定新闻,而不检查他是否已阅读。

希望这对您有所帮助。

于 2013-09-04T11:22:30.830 回答
0

我不知道您将如何检测用户是否已阅读文本......但您绝对可以更改特定单元格的颜色,如下所示。

NSIndexPath *cellIndex = [NSIndexPath indexPathForRow:3 inSection:0];
[[yourTable cellForRowAtIndexPath:cellIndex].textLabel setTextColor:[UIColor greenColor]];

希望这会帮助你。

于 2013-09-04T11:23:34.053 回答