无法从UITableViewCell中删除标签

时间:2012-05-14 11:41:32

标签: ios uitableview

我有一个名为“TaskTable”的UITableView,我在此方法的TaskTable的每个单元格的contentview中添加了一个标签

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

我的标签标签是50,我在表格视图的内置单元格中使用,而不是自定义单元格。

现在当我尝试使用此代码从TaskTable中删除我的标签时:

for(UILabel *lbl in [cell subviews])
    {
       if(lbl.tag == 50)
        {
          [lbl removeFromSuperview];
        }

   }

如果条件没有输入此代码。为什么找不到标签?这是因为我使用的内置单元格只找到自己的文本标签,或者还有其他一些我遗漏的问题?

1 个答案:

答案 0 :(得分:8)

您已经说过要将它添加到单元格的内容视图中。但是,上面的代码是通过单元格本身的子视图 - 这只是深入一级,因此它将返回内容视图,但不会返回内容视图的子视图。

for(UILabel *lbl in [cell.contentView subviews]) 
    { 
       if(lbl.tag == 50) 
        { 
          [lbl removeFromSuperview]; 
        } 

   }

应该可以工作,但是真正的标签作为属性的自定义单元子类会更好。