我有一个名为“TaskTable”的 UITableView,我在这个方法中的 TaskTable 的每个单元格的内容 View 中添加了一个标签
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
我的标签标签是 50,我在表格 View 的内置单元格中使用那个不是自定义单元格。
现在,当我尝试使用此代码从 TaskTable 中删除我的标签时:
for(UILabel *lbl in [cell subviews])
{
if(lbl.tag == 50)
{
[lbl removeFromSuperview];
}
}
代码没有进入这个 if 条件。为什么找不到标签?发生这种情况是因为我使用的内置单元格只能找到自己的文本标签,还是我遗漏了其他一些问题?
最佳答案
您说过要将它添加到单元格的内容 View 中。但是,您上面的代码正在遍历单元格本身的 subview ——这只会深入一层,因此它将返回内容 View ,但不会返回内容 View 的 subview 。
for(UILabel *lbl in [cell.contentView subviews])
{
if(lbl.tag == 50)
{
[lbl removeFromSuperview];
}
}
应该可以,但实际上将标签作为属性的自定义单元格子类会更好。
关于ios - 无法从 UITableViewCell 中删除标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10582647/