选中时,将视图添加到UITableViewCell的contentView

时间:2011-02-23 15:46:43

标签: iphone ios4 uitableview

我试图在selected一个单元格中添加一个带有5个按钮的新视图。我试图以3种不同的方式做到这一点。第一个是通过检查是否在

中选择它
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

方法

if (cell == nil ) {
//initial customizaton of cells
} else {
   if ([cell isSelected]) {
   //I would add the view to the cell's contentView here but it never enters this if even though the cell is still blue, I scrolled the table back and forth several times and the blue cell never evaluated here

   }
}

我也尝试过以下两种方法:

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

我使用tableView:cellForRowAtIndexPath:获取对单元格的引用,当我有该引用时,我尝试在单元格的contentView中添加视图,但它似乎不起作用(“不起作用”我的意思是它没有出现,我将进一步调试。

我知道我没有提供太多详细的代码,但那是因为我主要想知道它应该如何完成的一般原则是什么。我想知道当我点击它时,为什么单元格不会保持selected属性等于YES,即使它保持蓝色(当selectionStyle是默认值时)。我希望它在其中保持“蓝色”(选中),直到我取消选择它并移除所述视图。

2 个答案:

答案 0 :(得分:2)

您是否尝试创建自己的自定义UITableViewCell?我认为重点是,您可以在那里重载setSelected:方法。

答案 1 :(得分:0)

我遵循了NR4TR的建议,到目前为止一直很好。我已经将UITableViewCell子类化并覆盖了setSelected方法。

希望将来对其他人有用!