Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UICollectionView: One Row or Column

I want to use UICollectionView to display a horizontal scrollable list of thumbnails, however, I want this to be a single row. On another view, I'm displaying the thumbnails in a UICollectionView but this one scrolls vertically and it's in a single column.

Currently, the way I'm doing this is by changing the size of the collection view to only be big enough for one item so it autowraps and works, but now I'm dealing with variable sized items so it doesn't work anymore.

How do you make a UICollectionView display one row or column?

like image 934
William T. Avatar asked Dec 17 '12 16:12

William T.


People also ask

What is UICollectionView flow layout?

A layout object that organizes items into a grid with optional header and footer views for each section.

What is the difference between Uitableview and UICollectionView?

UICollectionView is the model for displaying multidimensional data — it was introduced just a year or two ago with iOS 6, I believe. The main difference between the two is how you want to display 1000 items. UITableViewhas a couple of styles of cells stacked one over the other.

How does UICollectionView work?

From apple's documentation, UICollectionView is: An object that manages an ordered collection of data items and presents them using customizable layouts. The name and definition makes it clear, it is a way to display a Collection of UI Views in our app. The individual view is referred as a Cell.

How do I add a section title in UICollectionView?

There are no section headers in the UICollectionView. So for your first task, you'll add a new section header using the search text as the section title. To display this section header, you'll use UICollectionReusableView .


1 Answers

I am guessing you are using the built in Flow Layout. However, for your case, you should make a custom UICollectionView Layout. Make it subclass of UICollectionViewFlowLayout and add this code in the init method:

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

The minimumLineSpacing is the key to making it have one line here.

I hope this helps!

like image 112
Nikola Kirev Avatar answered Sep 22 '22 02:09

Nikola Kirev