16

大きなをUICollectionView含む がありますUICollectionViewCells。これらのセルは非常に大きいため、UICollectionView境界を完全に満たし、画面からはみ出します。

問題は、大きなセルが から削除され、UICollectionViewまだ表示されている間に再利用のためにキューに入れられ、空白のビューになることです。空白のUICollectionView領域をスクロールし続けると、最終的にセルの最後の部分が表示され、次のセルの開始が正確な場所に表示されます。

UICollectionViewセルの再利用を効果的に無効にしましたが、コレクションビューの境界内にコーナーがないため、セルが表示されなくなったと考えているため、問題は依然として発生しているようです。

1 つの列で 10000 ピクセルの高さのセルを持つコレクション ビューを作成する方法を説明します。非常に高いセルをスクロールすると、約 1000 ピクセルのコンテンツが画面からスクロールされた後に非表示になり、最後の 1000 ピクセルのコンテンツを表示するために再表示されます。セルのために。

この問題を示す簡単なプロトタイプ アプリを http://jack.cox.s3.amazonaws.com/collectionviewprototype.zipからダウンロードできます。

4

4 に答える 4

1

この問題は、デバッグ ログの次の警告とともに発生しました。

の動作は次のUICollectionViewFlowLayout理由で定義されていません: アイテムはセクションの高さからセクションと値を 引いた値heightより小さくなければなりません。UICollectionViewinsets topbottom

そのままではUICollectionViewFlowLayout、画面より大きいセルはサポートされていないようです。

于 2013-09-26T19:45:00.503 に答える
0

この問題はレーダー#12889164として追跡されています

于 2013-03-01T12:40:38.220 に答える
0

UICollectionView画面サイズのセルで使用しています。iPad の場合、セル サイズは 768x1024 でした。そして、問題は見つかりませんでした。Min Spacing For CellsandFor Linesが設定されていることを確認してくださいまた、次のよう0に正しいものCGSizeを返しますUIEdgeInsets


- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
    CGSize retval;
    retval.width=maxWidth; //768 in case of iPad
    retval.height=maxHeight; //1024 in case of iPad
    return retval;
}

- (UIEdgeInsets)collectionView:
(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
return UIEdgeInsetsMake(0 , 0, 0, 0);
}
于 2014-01-09T10:38:30.667 に答える