Подтвердить что ты не робот

Ячейка UICollectionView исчезает

Я использую collectionView в своем приложении iPad. Я использовал собственный класс макета, который унаследовал класс UICollectionViewFlowLayout.

Я использую горизонтальное направление прокрутки. Проблема в том, что всякий раз, когда мы используем свиток для просмотра коллекции, некоторые ячейки исчезают. Я отлаживал код и обнаружил, что в методе источника данных после создания ячейки его скрытое свойство автоматически включается.

Я попытался использовать нижнюю строку, но не работал

   cell.hidden = NO  

У меня есть метод ниже также для отмены недействительности макета при связанных изменениях.

    - (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds {
          return YES;
        }

Но все же я столкнулся с проблемой. Любое решение на этом?

Спасибо заранее.

4b9b3361

Ответ 1

Существует известная проблема, которая может привести к исчезновению ячеек в UICollectionView. Если их исправление не работает для вас, попробуйте PSTCollectionView, которая является заменой с открытым исходным кодом для UICollectionView. Если PSTCollectionView работает, вы должны подать радиолокационный билет в Apple.

Ответ 2

В моем проекте также исчезнет UICollectionViewCell, используемый flowLayout - это настраиваемый макет с именем UICollectionViewLeftAlignedLayout. Его направление прокрутки горизонтальное. Я отлаживаю проект снова и снова, пробовал каждое решение, которое я могу найти через google.com. Все, что не сработало для меня.

В конце я удаляю UICollectionViewLeftAlignedLayout и использую собственный UICollectionViewFlowLayout через:

UICollectionViewFlowLayout *layout   = [[UICollectionViewFlowLayout alloc] init];
[layout setScrollDirection:UICollectionViewScrollDirectionHorizontal];

layout.scrollDirection               = UICollectionViewScrollDirectionHorizontal;
_collectionView.collectionViewLayout = layout;
_CollectionView.autoresizingMask     = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;

И я установил расстояние между ячейками через раскадровку (также вы можете установить их через макет):

spacing

Затем я запускаю проект еще раз, UICollectionViewCell больше не исчезают. Надеюсь, мой случай поможет вам.