无法从UITableViewCell中删除标签

KDe*_*kar 4 uitableview ios

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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
Run Code Online (Sandbox Code Playgroud)

我的标签标签是50,我在表格视图的构建单元格中使用,而不是自定义单元格.

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

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

   }
Run Code Online (Sandbox Code Playgroud)

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

jrt*_*ton 8

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

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

   }
Run Code Online (Sandbox Code Playgroud)

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