当方法重用时,有这样的代码可以与UICollectionViewCell一起使用吗?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *CellId = [NSString stringWithFormat:@"CellId%d%d",indexPath.row,indexPath.section];
if (!cell)
{
cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellId] autorelease];
}
return cell;
}
答案 0 :(得分:1)
重点是重用单元格,这就是为什么重用标识符对于所有单元格应该是相同的,至少是一个类的所有单元格(这就是为什么声明{{1}有意义的原因作为一个静态变量 - 这个方法将被调用很多)。 CellId
方法返回准备好重用的单元格(如果有)。如果没有这样的单元格,您应该创建它,稍后当它不再可见时dequeueReusableCellWithReuseIdentifier:
会将其添加到“可重用单元池”中并返回UICollectoinView
。
dequeueReusableCellWithReuseIdentifier:
答案 1 :(得分:0)
是的,collectionview有类似的方法,如下所示:
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"collectionCell";
collectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
return cell;
}
答案 2 :(得分:0)
是的,有:
UICollectionReusableView *collView = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];