2

Я создал представление коллекции с пользовательской коллекции cell.set с FlowLayout вuicollectionview Грузы wierdly

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init]; 
[flowLayout setItemSize:CGSizeMake(250, 480)]; 
[flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; 
[self.templateCollectionView setCollectionViewLayout:flowLayout]; 

Я установил его по горизонтали, но до сих пор клетка неуместны на рисунке см att mmp неуместны & он будет обратно в правильном положении если мы прокручиваем и загружаем его обратно. Может ли кто-нибудь сказать, что в этом плохого?

collection

+0

необходимо еще некоторое описание ... предоставить дополнительную информацию .. – Shivaay

ответ

2

Существует работа вокруг на this answer, которая работает для меня. Ниже приведено исправление, которое я использовал для горизонтальной прокрутки. В основном просто отфильтровать элемент атрибутов, который обеспечивает плохой фрейм ниже.

- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect { 
    NSArray *attributes = [super layoutAttributesForElementsInRect:rect]; 
    NSMutableArray *newAttributes = [NSMutableArray arrayWithCapacity:attributes.count]; 
    for (UICollectionViewLayoutAttributes *attribute in attributes) { 
      if (attribute.frame.origin.y + attribute.frame.size.height <= self.collectionViewContentSize.height) { 
       [newAttributes addObject:attribute]; 
      } 
    } 
    return newAttributes; 
} 
0

Как правило, это происходит, когда мы не задали правильный интервал между ячейками. Убедитесь, что при заполнении ячеек uicollectionview следует указать расстояние между ячейками. Также пройдите через UICollectionView flowLayout not wrapping cells correctly (iOS), возможно, это поможет вам.

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

  • Нет связанных вопросов^_^