2011-11-09 100 views
0

我有一個UITableView,當單元格與其他單元格具有相同的內容時,此內容僅出現在繪製的las單元格中。我的自定義單元格添加了UIView屬性以添加其他類的動態子視圖。UITableViewCell在其他單元格中丟失重複的內容

- (UITableViewCell *)tableView:(UITableView *)tableView 
    cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *MyIdentifier = @"cell"; 

    CollectionCell *cell = (CollectionCell *)[tableView 
         dequeueReusableCellWithIdentifier:MyIdentifier]; 
    if (!cell) { 
     cell = [[[CollectionCell alloc] initWithStyle:UITableViewCellStyleSubtitle 
            reuseIdentifier:MyIdentifier] 
       autorelease]; 
    } 

    [cell setCollectionView:/* Generated view in other class */]; 

    return cell; 
} 

具體問題是:

我的動態視圖是通過由例如,2個UILabels:

  • 如果標籤1是一個標題,所述標題是用於每一行唯一的 - >沒問題,呈現很好。
  • 如果標籤2是一個類別,則從0到5的索引具有相同的類別 - >僅索引5處的行顯示類別標籤。

我不能在單元實例化中創建這個標籤並添加爲子視圖,因爲單元格內容都是動態的。

感謝您的時間和幫助。

UPDATE:

我不能創建在單元格實例化這個標籤,並添加爲子視圖因爲細胞含量是所有動態。

我會詳細解釋一下:

加入的CollectionView財產的內容和UI控件可以differentes每次執行。在一個執行collectionView中可以有一個UIImageView和一個UILabel,然後執行它有2個UILabels(例如)。這就是爲什麼我不能創建這樣的東西

if (!cell) { 
     cell = [[[CollectionCell alloc] initWithStyle:UITableViewCellStyleSubtitle 
            reuseIdentifier:MyIdentifier] 
       autorelease]; 

     UILabel *foo = [[UILabel alloc] initWithFrame:SomeFrame]; 
     [foo setTag:101]; 
     [cell.collectionView addSubview:foo]; 
    } 

    UILabel *foo = [cell.collectionView subviewWithTag:101]; 
    [foo setTitle:@"This content is dynamic"]; 

謝謝!

更新2:

似乎與自定義的UILabel子類的問題。如果我使用原始UILabel來顯示字符串正常工作。

+0

「我不能創建在細胞實例化這個標籤,並添加爲子視圖因爲細胞含量是所有動態。」請在此展開,並顯示您設置爲收集視圖的內容。 cellForRowAtIndex路徑_is_是設置動態內容的地方。 – jrturton

回答

0

你不應該添加的塊級

if (!cell) { 
     cell = [[[CollectionCell alloc] initWithStyle:UITableViewCellStyleSubtitle 
            reuseIdentifier:MyIdentifier] 
       autorelease]; 
} 

你的子視圖應該僅此塊中加入(第一次創建可重複使用的細胞)外的子視圖。

當您上下滾動表格時,此'if'塊會發生多次(這之後)發生的所有事情,這樣您就可以在其中編輯添加的子視圖(僅在整個'if塊之後,在它之外)。

見我的回答here

+1

是的我知道,但這對我無效,因爲添加的子視圖在每次執行或不同的單元格中具有不同的UI控件和內容,並且它們在運行時定義:( –

+0

請參閱我的編輯... –

+0

對不起,它不工作。顯示相同的行爲,我懷疑UITableView工作正常,問題是與生成視圖的引用...新內容隱藏舊內容...我不知道。 –

相關問題