2012-05-14 20 views
3
删除标签

我有一个UITableView名为“TaskTable”,我在此方法中添加的TaskTable的每个单元的内容查看标签无法从UITableViewCell的

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

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

现在,当我尝试使用此代码从TaskTable删除我的图标:如果条件

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

    } 

代码不进入这个。为什么它找不到标签?是否发生这种情况是因为我正在使用内置的单元格,它只能找到自己的文本标签,或者还有其他一些缺少的问题?

+0

什么是'的cellForRowAtIndexPath代码:'? –

+0

我在单元格的文本上传递任务名称就是这样。 – KDeogharkar

+0

的去除的UILabel后,必须重新加载表,如果您创建在再次标签的cellForRowAtIndexPath然后再贴上标签生成 – Deepesh

回答

6

你说你将它添加到您的单元格的内容视图。但是,上面的代码将通过单元格的子视图 - 这只会深入一层,所以它会返回内容视图,但不会返回内容视图的子视图。

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

    } 

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

+0

感谢好友很多谢谢:) – KDeogharkar

+0

是的,它真的很好用 –