正在使用iphone进行我的项目,我在uitableview
(masterview)中列出了许多事件,我将在viewController
(详细视图)中显示详细信息。我将tableview中的文本显示为绿色,在读取详细信息后,单元格内的数据应变为红色。将其通知为已读和未读。怎么做?请帮助我。这是我的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;
}
}
所以如何在阅读细节后更改tableview中的颜色。请帮助我提前感谢
答案 0 :(得分:0)
您可以在isRead
模型类中使用类似MainNews
的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;
请注意:此答案仅检查用户是否点击了特定新闻,而不是他是否已阅读。
希望这会对你有所帮助。
答案 1 :(得分:0)
我不知道你怎么会发现用户是否阅读了文字...... 但你绝对可以改变特定细胞的颜色,如下所示。
NSIndexPath *cellIndex = [NSIndexPath indexPathForRow:3 inSection:0];
[[yourTable cellForRowAtIndexPath:cellIndex].textLabel setTextColor:[UIColor greenColor]];
希望这会对您有所帮助。