2

UItableView に 6 つのセクションがあり、すべてのセクションに 2 つのセルが表示されます。通常、次のようにします。 ここに画像の説明を入力

ただし、ここに私が持っているものがあります: http://i.imgur.com/iGoMpTK.png

すべてのセクションですべての indexPath.row が複製されます。コードは次のとおりです。

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

    static NSString *CellIdentifier = @"avenir";
    Avenir *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if(!cell) {
        cell =[[Avenir alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
     cell.equipea.text=[arrayofClubA objectAtIndex:indexPath.section];

     cell.equipeb.text=[arrayofClubB objectAtIndex:indexPath.section ];


return cell;

}

要素は 2 つの NSMutableArrays から取得されます。1 つはセルの最初の左側の要素用で、もう 1 つは右側の要素セル用です。なにが問題ですか?

助けてくれてありがとう。

4

2 に答える 2

3

rowと の両方から正しいインデックスを計算する必要がありますcolumn。セクションごとに 2 組の行があるためsection、2 を掛けて を足す必要がありrowます。これは 0 または 1 になります。最終結果は次のようになります。

NSUinteger pos = indexPath.section*2 + indexPath.row;
cell.equipea.text=[arrayofClubA objectAtIndex:pos];
cell.equipeb.text=[arrayofClubB objectAtIndex:pos];
于 2013-05-07T17:54:04.313 に答える
0

セクションごとに同じテキストを常に取得しているため、

cell.equipea.text=[arrayofClubA objectAtIndex:indexPath.section];

各セクションに対して常に同じ値を返します (indexPath.section にはセクションのインデックスが含まれているため)。おそらく、代わりに次のことをしたかったのですか?

cell.equipea.text=[arrayofClubA objectAtIndex:indexPath.row];

また、このような用途では、配列の表示を自動的に処理する無料の Sensible TableView フレームワークを使用する方がはるかに簡単な場合があります。

于 2013-05-07T17:55:15.337 に答える