2012-02-27 109 views
1

如果我們使用下面的代碼,我可以刪除包括textLabel的所有子視圖。我需要除了內容查看titlelabel刪除cell.contentview除標籤外的所有子視圖

for (int i=0; i < [self.mylist count]; i++) { 

    NSIndexPath *lIndexPath = [NSIndexPath indexPathForRow:i inSection:0]; 

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:lIndexPath]; 

    for (UIView *view in cell.contentView.subviews) { 
     [view removeFromSuperview]; 
    } 
} 

任何想法都去掉如何避免

回答

6

只是檢查視圖是否型的UILabel的,這就是它

for (int i=0; i < [self.mylist count]; i++) { 

    NSIndexPath *lIndexPath = [NSIndexPath indexPathForRow:i inSection:0]; 

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:lIndexPath]; 



    for (UIView *view in cell.contentView.subviews) { 
     if(![view isKindOfClass:[UILabel class]]) 
     { 
     [view removeFromSuperview]; 
     } 
     else 
     { 
     //check if it titlelabel or not, if not remove it 
     } 
} 
} 
+0

又是怎麼回事,如果去除標籤有附加限制嗎?例如,我想刪除中間標籤,但其下面的標籤對被刪除的標籤有一個垂直限制。然後第二個標籤不會填充已刪除標籤的空間。如何解決這個問題? – Slavcho 2013-11-08 08:54:16