是否可以使UITableView中的一个单元格具有ON / OFF行为?基本上,当我点击一个单元格时,它会变成绿色,这就是我想要的。它不会去另一个viewController或任何东西。但是当我再次点击同一个单元格时,在同一视图中,我希望绿色消失,然后返回到之前的颜色状态。
这就是我的didSelectRowAtIndexPath
的方法- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *selectedPhrase = [dataTable objectAtIndex:indexPath.row];
[self setCurrentPhrase:selectedPhrase];
}
这似乎是一个简单的问题。我知道我可以放入[tableView deselectRowAtIndexPath:indexPath animated:YES];
,但只是在我点击它之后立即突然显示它。
谢谢!
亚伦
答案 0 :(得分:1)
您可以在选择时更改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;
}