2009-04-04 6 views
0

2つの異なるカスタムテーブルセルを使用するグループ化されたテーブルビューがあります。カスタムUITableViewCellが空になる問題?

セルの1つ(またはそれ以上)が目に見えるものの上または下になるようにスクロールすると、それらのセルが空白になります。これらのセルを表示するためにスクロールアップ(またはダウン)すると、まだ空白になっています。どうしてこれなの?細胞は、最初に負荷されたときに適切な内容を示した。ここで

は、指定indexPathで細胞をロードするコードです:

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

    if(indexPath.section==0) 
    { 
     FMLFullTextCell = (FullTextCell *) [tableView dequeueReusableCellWithIdentifier:FullTextCell_ID]; 
     if(FMLFullTextCell==nil) 
     { 
      [[NSBundle mainBundle]loadNibNamed:@"FullTextCell" owner:self options:nil]; 
      [FMLFullTextCell initWithFMLText:@"Here is some demo fml text"]; 
     } 
     return FMLFullTextCell; 
    } 
    else 
    { 
     FMLAuthorCell=(Author *)[tableView dequeueReusableCellWithIdentifier:AuthorCell_ID]; 
     if(FMLAuthorCell==nil) 
     { 
      [[NSBundle mainBundle]loadNibNamed:@"Author" owner:self options:nil]; 
      [FMLAuthorCell initWithTitle:@"Author" initWithAuthor:@"JohnnyAuthor"]; 
     } 
     return FMLAuthorCell; 
    } 

} 

答えて

2

あなたはこの質問に答えるのに十分な情報を提供していませんでした。

通常、UITableViewCellsはinitWithFrame:reuseIdentifier:で作成され、dequeueReusableCellWithIdentifier:でアクセスされるとキャッシュされます。私の推測では、2つの異なるカスタムテーブルセルに異なる再利用識別子を指定していないことがあります。そのため、何らかの形でコードに混在してしまいます。これは記述された動作を引き起こす可能性があります。

とにかく、コードを見ることなく、これは答えにくいです。少なくとも、データソースのメソッドtableView:cellForRowAtIndexPathを表示する必要があります。

+0

私は指定されたメソッドでコードを更新しました - 私はカスタム識別子を使用してみましたが、同じ問題が発生しています...考えていますか? – zpesk

+0

nevermind私はそれを修正しました - 私はこの識別子をxibファイルに追加しませんでした – zpesk