UICollectionView简单的UICollectionViewCell滚动性能差

时间:2012-12-03 12:31:12

标签: scroll uicollectionview performance

我正在使用UICollectionView在iPad中显示基于网格的View。我在屏幕上一次只有200个(20个x 10列)单元格,每个单元格只包含一个UILabel。它在滚动时开始变慢,而不像TableView那样平滑。

我不知道滚动速度较慢的原因。我该如何改进?

提前致谢!


我有3个collectionview,但主要内容uicollectionview是已被标记的那个2.这是我的代码

if (collectionView.tag==0) { //This tagged collection view is for Left side selection box

    LeftSelectionBoxItem *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"SelectionCell" forIndexPath:indexPath];

    return cell;
}
else if (collectionView.tag==1){ //This tagged collection view is for to show column names

    TopColumnItem *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ColumnCell" forIndexPath:indexPath];
    cell.columnName.text = [NSString stringWithFormat:@"%@",[self.columnNames objectAtIndex:indexPath.item]];

    return cell;
}
else if (collectionView.tag==2) { //This tagged collection view is for to show main content

    GridItem *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"GridCell" forIndexPath:indexPath];
    cell.dataLabel.text = [NSString stringWithFormat:@"%@",[[self.dataModel objectAtIndex:indexPath.section] objectForKey:[self.columnNames objectAtIndex:indexPath.item]]];

    return cell;
}
else {
    return nil;
}

1 个答案:

答案 0 :(得分:3)

拥有大量UILabel有时很贵。尝试将它们更改为CATextLayers,因为这些开销更少。请注意,如果您执行此操作并使用栅格化,则需要告知图层光栅化视网膜显示设备。