当我在UItablevewcell中添加标签时,如果它在cellview的contentview中为零。如果它不是零,我将通过标签采用该标签而不分配。它是重用该单元格的正确过程。 但是当我不想要第二行中的标签时,我必须将其隐藏。如何删除第二行中的标签 而不隐藏。我需要它在第一行。只在特定行中删除contentview对象?
0
A
回答
0
例如,您可以在出列并创建它们时使用不同的单元标识符。例如@“带标签的单元”和@“无标签的单元”。
或者您可以通过label.tag = MY_INT_TAG
来标记此标签,并通过UILabel *label = [cell viewWithTag:MY_INT_TAG]
搜索它将其从超级视图中的第二行中删除。它适用于不想子类UITableViewCell。
if (indexPath.row == 0) {
UILabel *label = [[UILabel alloc] init];
label.tag = TAG;
[cell.contentView addSubview:label];
} else if (indexPath.row == 1) {
UILabel *label = [cell.contentView viewWithTag:TAG];
[label removeFromSuperView];
}
0
当你重用它们没有共同的元素的单元格,最好的做法是重新使用前清除细胞子视图(所有添加的元素)。
这样你就可以根据自己的需要,每次添加的元素...
你可以这样做:
for(UIView *view in cell.contentView.subviews){
[view removeFromSuperview];
}
,或者如果你想更花哨:
[cell.contentView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
当然,如果您只想清除特定行中的一个特定元素,那么当您将元素添加到元素的contentview时,必须为元素指定一个唯一标记,然后通过访问它将其删除通过它的标记值:
将它添加到单元格:
UIImageView *rightArrow = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"arrow.png"]];
rightArrow.tag = 111;
rightArrow.frame = CGRectMake(290, 16, 4, 8);
[cell.contentView addSubview:rightArrow];
从视图中删除了第2行:
if (indexpath.row == 2) {
UIImageView *rightArrow = (UIImageView *)[cell.contentView viewWithTag:111];
if (rightArrow)
[rightArrow removeFromSuperView];
}
相关问题
- 1. Python:从对象中删除特定行
- 2. 删除图例中的特定对象
- 3. 从Parse.com中删除特定对象
- 4. 删除特定对象中的NSDictionary
- 5. 从列表中删除特定对象
- 6. 在JavaScript数组删除特定对象
- 7. Android GreenDao - 只删除特定实体的缓存对象
- 8. JavaScript对象删除特定键值
- 9. Javascript对象删除特定键
- 10. Restkit删除特定对象coredata中的所有对象
- 11. 如何在RethinkDB中删除数组中的特定对象
- 12. 在corona lua中删除数组中的特定对象
- 13. 如何在java中删除jsonarray中的特定json对象
- 14. 如何删除只包含特定数字的特定行?
- 15. 如何从对象数组中删除特定对象,按对象的属性?
- 16. 在Matlab中删除特定行
- 17. 只删除动态分配的结构对象数组中的特定元素
- 18. 在Django中删除子对象时删除父对象
- 19. 如何从Java中的ArrayList中删除特定的对象?
- 20. 在java中删除对象
- 21. 在JavaScript中删除对象
- 22. 在Django中删除对象
- 23. 在Arraylist中删除对象
- 24. 在OpenGL中删除对象
- 25. Ruby - 只删除文件中的特定重复行
- 26. 只删除特定列/行中的重复项
- 27. vb脚本只删除文本文件中的特定行
- 28. SwipeListView删除特定行
- 29. c#Datalist删除特定行。
- 30. Javascript删除特定行