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

return aCell; 
}

各セル内にコレクションビューと1つのテキストフィールドがあります

テキストフィールドのテキストが消えたり、他のセルのテキストフィールドにランダムに複製されたりするときに、予期しない動作が発生することがあります

どうすればこれを修正できますか

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 に答える