When the UICollectionView is populated with items they always go right to the edges of the UICollectionView like so:
---------------
|X X X X X X X|
|X X X X
You can make use of the following function.
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
return UIEdgeInsetsMake(50, 50,15,50);
}
You will have to play around with the number to figure out how to force the collectionviewCells in a single line.
UIEdgeInsetsMake ( CGFloat top,CGFloat left,CGFloat bottom,CGFloat right);
For Swift 3
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsetsMake(10, 4, 10, 4)
}