2011-04-29 50 views
0

是否可以使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];,但是在点击它之后,它就会立即使其不亮。

谢谢!

亚伦

回答

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; 
} 
+0

这是一个很好的建议,用它来使它工作。谢谢! – Aaron 2011-05-03 04:05:30

相关问题