Специальный горизонтальный поток UICollectionView — несколько разделов

У меня UICollectionView там используется по-разному в зависимости от ориентации устройства. Изображение описывает, что у меня есть и что мне нужно.

Можно ли получить «Горизонтальную прокрутку, как мне это нужно» с раскладкой потока по умолчанию, или мне нужно сделать customflowlayout (Руководство приветствуется) или несколько просмотров коллекции?

Схема потока сбора


person Morten Holmgaard    schedule 24.07.2013    source источник


Ответы (1)


Я решил это с помощью DateFlowLayout. Странное имя, но оно работает с некоторыми настройками.

Это была моя установка для вас (я использовал ее только для горизонтального направления):

- (void)layoutForOrientation:(UIInterfaceOrientation)orientation {
    bool isPortrait = UIInterfaceOrientationIsPortrait(orientation);

    self.collectionView.frame = isPortrait ? CGRectMake(0, 0, 768, 180) : CGRectMake(0, 60, 246, 595);
    self.collectionView.collectionViewLayout = isPortrait ? DateFlowLayout.new : UICollectionViewFlowLayout.new;
    self.flowLayout = ((UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout);

    self.flowLayout.scrollDirection = isPortrait ? UICollectionViewScrollDirectionHorizontal : UICollectionViewScrollDirectionVertical;
    self.flowLayout.headerReferenceSize = isPortrait ? CGSizeMake(5, 30) : CGSizeMake(246, 40); //width is margin to the left of the header - must be bigger than 0 to show headers correct.
    self.flowLayout.minimumInteritemSpacing = isPortrait ? 10 : 0;
    self.flowLayout.minimumLineSpacing = isPortrait ? 17 : 7;
    self.flowLayout.sectionInset = isPortrait ? UIEdgeInsetsMake(27, 30, 25, 0) : UIEdgeInsetsMake(0, 14, 0, 0);
    //self.flowLayout.itemSize = CGSizeMake(58, 85); //You might need this
    self.collectionView.alwaysBounceVertical = isPortrait ? NO : YES;
}
person Morten Holmgaard    schedule 24.07.2013
comment
Привет, Мортен, я знаю, что это было давно, но есть идеи, почему мой заголовок прилипает, но не поверх представления моей коллекции, а напротив него, на полпути (по высоте). Спасибо! - person m.y; 27.11.2013
comment
справедливо. тогда я тоже сделаю немного больше! по крайней мере, я знаю, что это возможно :) - person m.y; 28.11.2013
comment
У вас быстрая версия? - person TomSawyer; 13.12.2015
comment
у меня тоже не компилируется - person Rahul Vyas; 09.02.2016
comment
Что касается того, что он не компилируется — помните, что это пост 2013 года, с тех пор в языке многое изменилось. Тогда он скомпилировался, так что, погуглив, можно будет найти изменения и использовать принципы. - person Morten Holmgaard; 09.01.2018