Как создать настроенный UICollectionView с 2 или более пользовательскими ячейками?
в моем проекте Я хочу использовать UICollectionView
с пользовательскими ячейками, я создал представление коллекции с пользовательскими ячейками, но я хочу использовать разные размеры пользовательской ячейки в моем проекте. Я следил за некоторыми учебниками, но я не получаю его правильно, и ниже я приложил образец экрана, который я действительно искал для просмотра коллекции.
![введите описание изображения здесь]()
Ответы
Ответ 1
Один из возможных способов создания этого - использовать sizeForItemAtIndexPath
, а затем вернуть размер для Cell
. Вот некоторые полезные ссылки на Github, которые точно выполняют то, что вы хотите:
Как и в первом изображении, некоторые ячейки имеют кнопки, тогда как другие не имеют. Для этого вам придется создавать пользовательские ячейки, то есть одну пользовательскую ячейку с кнопками и одну без кнопок. И внутри вашей функции cellForItemAtIndexPath
вы можете определить их с некоторым условием if-else
.
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
if(firstCellConditionMet)
{
CustomCell1 *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CellIdentifier" forIndexPath:indexPath];
//Your code
return cell;
}
else{
CustomCell2 *cell2 = [collectionView dequeueReusableCellWithReuseIdentifier:@"CellIdentifier2" forIndexPath:indexPath];
//Your Code
return cell2;
}
}
}
Ответ 2
Это может быть достигнуто с помощью Flow Flow Flow Layout. Вы можете создать раскладку потока, и макет позаботится о разных строках и о том, сколько элементов существует в строке. Взгляните на учебное пособие Рэя Вендерлиха здесь.
Ответ 3
если это то, что вы хотите
https://www.youtube.com/watch?v=LFBTbmvFR30
попробуйте использовать пользовательский макет для просмотра коллекции
https://github.com/bryceredd/RFQuiltLayout
Это готовое решение, и это легко использовать, если есть вопросы, ответит вам, теперь я делаю очень похожий сборник... но на iPad со случайным размером ячейки → →
![введите описание изображения здесь]()
и самый классный, с этой реализацией вы сможете использовать один класс для всех размеров ячеек, если вы используете ограничения. Если у вас возникли проблемы с этой реализацией, я могу дать вам свой тестовый проект.
Удачи вам.
Ответ 4
Я думаю, это очень легко. Вы можете подклассом UICollectionViewFlowLayout
.