2015-01-29 2 views
0

У меня есть дилемма с приложением здесь. Идентификатор типа CollectionView должен быть заполнен модулями и значками, расположенными в центре дисплея. Я могу центрировать CollectionView с помощью помощников AutoLayout, но я не могу понять, как правильно отсортировать элементы.Размер и количество элементов коллекционирования

В настоящее время существует 4 элемента в строке, где, как я хотел бы иметь только две (50% ширины) элементов в строке.

Я вычислил атрибут itemSize и соответствующий CGsize method, но это только статические пиксели (120, 300). И поэтому они не являются репрезентативными для того, что я хотел бы использовать как на больших, так и на небольших устройствах.

Есть ли способ заблокировать товар по: 2 шт. ряд. 50% ширина + водосток

Заранее благодарен!

Jonas

+0

Вы пытались переключить эти статические значения с помощью вычисляемых, например, colectionView.bounds.width/2? –

+0

К сожалению, не повезло. ModuleListView.bounds.width просто возвращает 100, что меньше, чем на самом деле:/ –

+0

Я думаю, вам нужно также установить interItemSpacing и секцию. – Arjuna

ответ

1

UICollectionViewDelegateFlowLayout Посмотрите на протокол, который имеет методы DataSource как

sizeForItemAtIndexPath 
minimumInteritemSpacingForSectionAtIndex 

возвращение пользовательских значений к расположению клеток CollectionView, как вы хотите.

Используйте collectionView.collectionViewLayout.collectionViewContentSize для получения правильного размера содержимого. Но он будет действителен только после того, как представление коллекции завершит свой макет, поэтому вы можете просто использовать рамку коллекцииView.