UICollectionViewCell里面的TextField发疯了

时间:2013-03-19 19:28:01

标签: iphone ios objective-c

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
Cell *aCell = [collectiveView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];

return aCell; 
}

我有一个集合视图和每个单元格内的一个文本域

我发现了一些意想不到的行为 有时文本字段中的文本随机消失或复制到其他单元格中的文本字段

如何解决此问题

1 个答案:

答案 0 :(得分:3)

因为您正在使用可重复使用的单元格(来自-dequeueReusableCellWithReuseIdentifier:),所以您获取的单元格可能已经包含其中前一个单元格的内容。您需要在返回之前明确清除返回的单元格中文本字段的内容。例如:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView 
                  cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    Cell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" 
                                                           forIndexPath:indexPath];

    cell.textField.text = @"Default contents"; // or other data from your model
    return cell;
}