UITableViewCell
1 から 70 までの数字を表示するようにサブクラス化しました。すべてのセルで、当選番号とチャンスの背景をチェックしています。問題は、数回スクロールすると、テーブルビューが非常に遅くなり、使用できなくなることです。私の理解では、セルを再利用しているため、理由がわかりません。毎回 70 個の UITextFields を作成しているからでしょうか?
お知らせ下さい
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
...
...
...
SubCell *cell = [tableView dequeueReusableCellWithIdentifier:@"myCell"];
if (cell == nil) {
cell = [[SubCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"myCell"];
}
for(int i=0;i<7;i++)
{
for(int j=0;j<10;j++)
{
UITextField *tempField = [[UITextField alloc]initWithFrame:CGRectMake(2+(j*31), 4+(i*28), 30, 27)];
[tempField setBorderStyle:UITextBorderStyleNone];
[tempField setOpaque:YES];
[tempField setTextAlignment:NSTextAlignmentCenter];
[tempField setTextColor:[UIColor whiteColor]];
[tempField setUserInteractionEnabled:NO];
tempField.text = [NSString stringWithFormat:@"%d",i*10+j+1];
if([[cell.currentWinningArray objectAtIndex:i*10+j] isEqualToString:@"0"])
{
[tempField setBackground:[UIImage imageNamed:@"blue"]];
}
else
[tempField setBackground:[UIImage imageNamed:@"orange"]];
[cell.contentView addSubview:tempField];
}
}
return cell;
}