1

Я пытаюсь отобразить все ячейки на моем UICollectionView в одной строке с помощью горизонтальной прокрутки.iOS - отображение UICollectionViewCells в одной строке

Для этого я использую встроенный в классе UICollectionView, но я создал подкласс UICollectionViewFlowLayout со следующим кодом:

@implementation MemberCollectionViewFlowLayout 

- (id)init { 
    if ((self = [super init])) { 
     self.scrollDirection = UICollectionViewScrollDirectionHorizontal; 
     self.minimumLineSpacing = 10000.0f; 
    } 
    return self; 
} 

- (CGSize)collectionViewContentSize 
{ 

    NSArray *memberArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"currentGroupMembers"]; 
    return CGSizeMake([memberArray count]*50 , self.collectionView.frame.size.height); 
} 

@end 

Как результат я получаю прокручивать строку, но дисплей DonT если строка больше, чем экран. Если я увеличиваю высоту при консенсусе, я вижу, что остальные ячейки добавляются во вторую строку.

Как я могу убедиться, что все мои ячейки находятся на одной линии?

Большое спасибо за вашу помощь

ответ

0

В документации макета потока он говорит:

Для горизонтальной прокрутки сетки, это значение представляет собой минимальное расстояние между последовательными колоннами.

Так что если вы добавляете огромное значение по горизонтали и продуваете горизонтальные размеры - намного больше, чем размер контента, который вы задали. Поэтому макет потока попытается запустить следующую строку.

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

+0

спасибо. Я пытался во что бы то ни стало возиться со всеми значениями, но он не работал :( – Spearfisher

+0

Я только что сделал тестовый проект. Работает точно так же, как я говорю. Проверьте это на [github.com/mundstein/CollectionViewTest](https github.com/mundstein/CollectionViewTest). – Mundi

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