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

return aCell; 
}

我在每个单元格中有一个集合视图和一个文本字段

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

我怎样才能解决这个问题

4

1 回答 1

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;
}
于 2013-03-19T19:31:53.577 回答