2013-03-09 2 views
11

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

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

Я попытался с помощью ниже линии, но ее не работает

cell.hidden = NO 

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

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

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

Заранее спасибо.

+0

такой же вопрос для меня тоже, сделал ли вы решение? – anoop4real

+0

Мне удалось исправить мою проблему http://stackoverflow.com/questions/38913664/uicollectionviewcell-gets-hidden-randomly/38931405#38931405 – anoop4real

ответ

1

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

+0

Вы хотите сказать, что это ошибка UICollectionView? – Swapnil

+2

Недавно я столкнулся с несколькими ошибками с UICollectionView. Я уверен, что UICollectionView не является ошибкой. Лучший способ проверить - использовать PSTCollectionView. Поскольку это с открытым исходным кодом, вы можете легко проследить свой код. –

+0

Ya. Я также чувствую, что это не ошибка. Я проверю с помощью PSTCollectionView. Благодаря... – Swapnil

0

В моем проекте также исчезнет 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 больше не исчезают. Надеюсь, мое дело поможет вам.

Смежные вопросы