私はの高さが180pxです。一度に5行しか表示できないため、テーブルビューにはカスタムセルが含まれています。実行時にカスタムUITableViewCellsは、表示されていないときは常にnullです。
for (int row = 0; row < [self.autoTableView numberOfRowsInSection:0]; row++) {
NSIndexPath* cellPath = [NSIndexPath indexPathForRow:row inSection:0];
UITableViewCell *cell = [self.autoTableView cellForRowAtIndexPath:cellPath];
if(!cell)
NSLog(@"NULL %i", row);
}
私はスクロールをしなかった場合、:しかし、私は6個の細胞を持っている、それは私がこのようにすべてのセルをループしようとすると、第六セルがスクロールし、使用している場合にのみ表示されることを意味しますコンソールウィンドウにNSLog
という文が表示されます:NULL 5
と、最後のセルを表示するまでスクロールすると、NSLog
という文が表示されます:NULL 0
、私はいつもスクロールして上下にスクロールするときにこのメッセージを表示し続けますNSLog
すべての細胞はすでに作成されていますが、これは起こりますか?
cellForRowAtIndexPath
コードは次のとおりです。
static NSString *customCellIdentifier = @"customCell";
EditableTableDataRow *cell = nil;
cell = (EditableTableDataRow *)[tableView dequeueReusableCellWithIdentifier:customCellIdentifier];
if (cell == nil)
{
cell = [[[EditableTableDataRow alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:customCellIdentifier itemPadding:0 scaleToFill:NO] autorelease];
}
、私はこのカスタムセル内にあるラベルとテキストフィールド上のさまざまな物事を行う、そして最後に:
...
return cell;
は事前にどうもありがとうございました。
だから、すべてのセルをループし、ループ内の各セルに変更を加える方法はありますか? – JAHelia
繰り返しセルについては考えないでください。細胞を移入する配列の反復について考えてみましょう。それは更新する必要があります。次に、セルはその配列から読み込み、すべてのデータを取得します。 –
しかし、私はすべてのセルをループして(たとえば)セルの背景色を変更する必要があるので、この場合は配列とは何も関係ありません。 – JAHelia