我有一个名为“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];
}
}
如果条件没有输入此代码。为什么找不到标签?这是因为我使用的内置单元格只找到自己的文本标签,或者还有其他一些我遗漏的问题?
答案 0 :(得分:8)
您已经说过要将它添加到单元格的内容视图中。但是,上面的代码是通过单元格本身的子视图 - 这只是深入一级,因此它将返回内容视图,但不会返回内容视图的子视图。
for(UILabel *lbl in [cell.contentView subviews])
{
if(lbl.tag == 50)
{
[lbl removeFromSuperview];
}
}
应该可以工作,但是真正的标签作为属性的自定义单元子类会更好。