4

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

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

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

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

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

   }

代码未输入此 if 条件。为什么找不到标签?发生这种情况是因为我正在使用只能找到自己的文本标签的内置单元格,还是我缺少其他一些问题?

4

1 回答 1

8

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

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

   }

应该可以,但实际上将标签作为属性的自定义单元子类会更好。

于 2012-05-14T11:48:44.967 回答