1

cellForRowAtIndexPath私は次のメソッドのコードを持っています:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"champion cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    UIImage *cellIcon = [UIImage imageNamed:[arrayOfChampionPictures objectAtIndex:indexPath.row]];
    [[cell imageView] setImage:cellIcon];

    cell.imageView.frame = CGRectMake(0.0f, 0.0f, 70.0f, 70.0f);

    cell.imageView.layer.cornerRadius = 7;
    [cell.imageView.layer setMasksToBounds:YES];

    cell.textLabel.text = [arrayOfChampionNames objectAtIndex:indexPath.row];

    return cell;
}

写真の名前を含むarrayOfChampionNamesローカルデータベースはどこに保存されていますか。NSMutableArrayUITableViewに画像がある約103個のセルです。最初のスクロールは最初から最後まで遅れ、その後はスムーズにスクロールします。シミュレーターに遅れはありません。


私が思いついた可能な解決策、しかし私はそれらを実現する方法がわかりません

  • スクロール後に画像を読み込む、
  • 画像データをUITableViewにプリロードします。
4

2 に答える 2

2

ラグがどこから来ているのかをお伝えします-コーナー半径。角の丸い画像を事前に計算します。それらを動的に実行すると、スクロールパフォーマンスが低下します。

于 2012-10-10T00:34:46.163 に答える
0

あなたは何かを忘れた:

static NSString *CellIdentifier = @"champion cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {
       cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}

このようにして、作成した再利用可能な識別子を実際に利用します。

于 2012-10-09T21:42:33.133 に答える