在同一个单元上打开/关闭UITableView中的单元格,在同一视图中
问题描述:
是否可以使UITableView中的一个单元格具有ON/OFF行为?基本上,当我点击一个单元格时,它变成了绿色,这正是我想要的。它不会去另一个viewController或任何东西。但是当我再次点击同一个单元格时,在相同的视图中,我希望绿色消失,并且它返回到之前的颜色状态。在同一个单元上打开/关闭UITableView中的单元格,在同一视图中
这是我有我的didSelectRowAtIndexPath方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *selectedPhrase = [dataTable objectAtIndex:indexPath.row];
[self setCurrentPhrase:selectedPhrase];
}
这似乎是一个简单的问题。我知道我可以放入[tableView deselectRowAtIndexPath:indexPath animated:YES];
,但是在点击它之后,它就会立即使其不亮。
谢谢!
亚伦
答
你可以改变你UITableViewCell
在选择背景颜色,所以你可以使用它BOOL会告诉你如何在背景填充(无论绿色或只是鲜明的色彩)。
访问您通过以下方法下面
- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath
用作参考码单元。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *selectedPhrase = [dataTable objectAtIndex:indexPath.row];
[self setCurrentPhrase:selectedPhrase];
MyCutsomCell* myCell= (MyCutsomCell*)[tableView cellForRowAtIndexPath:indexPath];
if(myCell.isGreen)
{
//Change backgroundColor to Green
}
else
{
//Clear backgroundColor
}
myCell.isGreen = !myCell.isGreen;
}
这是一个很好的建议,用它来使它工作。谢谢! – Aaron 2011-05-03 04:05:30