2012-05-14 56 views
3
刪除標籤

我有一個UITableView名爲「TaskTable」,我在此方法中添加的TaskTable的每個單元的內容查看標籤無法從UITableViewCell的

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

我的標籤,標籤是50,我我在表格視圖的內置單元格中使用那個不是自定義單元格。

現在,當我嘗試使用此代碼從TaskTable刪除我的圖標:如果條件

for(UILabel *lbl in [cell subviews]) 
    { 
     if(lbl.tag == 50) 
     { 
      [lbl removeFromSuperview]; 
     } 

    } 

代碼不進入這個。爲什麼它找不到標籤?是否發生這種情況是因爲我正在使用內置的單元格,它只能找到自己的文本標籤,或者還有其他一些缺少的問題?

+0

什麼是'的cellForRowAtIndexPath代碼:'? –

+0

我在單元格的文本上傳遞任務名稱就是這樣。 – KDeogharkar

+0

的去除的UILabel後,必須重新加載表,如果您創建在再次標籤的cellForRowAtIndexPath然後再貼上標籤生成 – Deepesh

回答

6

你說你將它添加到您的單元格的內容視圖。但是,上面的代碼將通過單元格的子視圖 - 這隻會深入一層,所以它會返回內容視圖,但不會返回內容視圖的子視圖。

for(UILabel *lbl in [cell.contentView subviews]) 
    { 
     if(lbl.tag == 50) 
     { 
      [lbl removeFromSuperview]; 
     } 

    } 

應該工作,但真正的標籤作爲屬性的自定義單元格子類會更好。

+0

感謝好友很多謝謝:) – KDeogharkar

+0

是的,它真的很好用 –