當我在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刪除特定行