У меня есть три различных типа клеток с различными content size
(содержащих image
, label
и button
) в UICollectionview
. Я получаю данные от веб-сервисов. Я хочу показать правильную ячейку на основе этих типов.Показать различные элементы на основе типа данных в UICollectionView
ответ
Во-первых, вы регистрируетесь крупку макетов для ваших клеток:
[collectionView registerNib:myCellTypeImageNib forCellWithReuseIdentifier:@"MyModelTypeImageCellIdentifier"];
[collectionView registerNib:myCellTypeLabelNib forCellWithReuseIdentifier:@"MyModelTypeLabelCellIdentifier"];
[collectionView registerNib:myCellTypeButtonNib forCellWithReuseIdentifier:@"MyModelTypeButtonCellIdentifier"];
Затем верните их соответствующим образом:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
MyModel *modelObject = self.dataArray[indexPath.item];
UICollectionViewCell *cell = nil;
switch (modelObject.type) {
case MyModelTypeImage:
cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MyModelTypeImageCellIdentifier" forIndexPath:indexPath];
//adjust cell
break;
case MyModelTypeLabel:
cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MyModelTypeLabelCellIdentifier" forIndexPath:indexPath];
//adjust cell
break;
case MyModelTypeButton:
cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MyModelTypeButtonCellIdentifier" forIndexPath:indexPath];
//adjust cell
break;
}
return cell;
}
Спасибо, что ответили на мои вопросы, я купил я создал ячейки в раскадровке, указав количество элементов как 3 и дал другой Идентификатор для каждой ячейки – user3518202
Затем вы можете опустить вызовы 'registerNib'. Другой код по-прежнему хорошо – Azat
Спасибо, я попробую – user3518202
Вы можете использовать
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
Примечание: indexpath
Например. Добавьте все изображения в array
.
self.myArray = [[NSArray alloc] initWithObjects:@"first.jpg",
@"second.jpg",
@"third.jpg",
@"last.jpg",nil]
Затем в cellForRow...
сделать следующее:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
// configure cell
...
cell.myImageView = [self.myArray objectAtIndex:indexPath.row;
}
Три разных размера ячеек с разным расположением – user3518202
- 1. Как показать различные элементы управления на основе условия в WPF?
- 2. Показать и скрыть различные элементы на фокусе
- 3. Показать различные изображения на основе значения свойства
- 4. Показать различные элементы магазина в разных сетках
- 5. Показать различные сообщения на основе формы, основанной на Ajax
- 6. Как показать элементы с помощью jQuery на основе атрибутов данных
- 7. CSS - Показать/скрыть элементы на основе CheckBox
- 8. UICollectionView Различные клетки шириной
- 9. Как показать различные элементы на разных устройствах в бутстрапе
- 10. Различные размеры ячейки в UICollectionview
- 11. Подсчитайте различные элементы на основе группы по предложению
- 12. Показать различные шаблоны на основе хоста в Django
- 13. UICollectionView: Различные номера ячеек в разных разделах
- 14. D3 - элементы переупорядочения на основе их данных
- 15. Отображение BizTalk на основе типа данных
- 16. Показать/скрыть элементы в представлениях Zend на основе роли пользователя?
- 17. Показать различные ссылки на основе вывода функции Javascript
- 18. Angular2 hide показать элементы на основе множественного состояния умный способ
- 19. Различные HitArea на основе устройства
- 20. WPF - Как отображать различные элементы управления на основе SelectedIndex ComboBox
- 21. ListView различные элементы управления на основе связанного значения
- 22. Выполнять различные методы на основе шаблона переменной типа
- 23. fonts.googleapis показывает различные файлы CSS на основе типа браузера
- 24. Переместить элементы UICollectionView вокруг
- 25. Как показать различные диапазоны на основе выбора переключателя?
- 26. Показать различные viewType в RecyclerView на основе информации в базе данных?
- 27. Отображать различные элементы управления на ячейке Gridview на основе данных конкретных ячеек
- 28. Показать элементы базы данных на php
- 29. jQuery показать/скрыть элементы на основе * multiple * jQuery UI слайдеры
- 30. Скрыть/Показать элементы на основе пользователей в отчете?
из-за к недостатку Репутация я неспособный передать изображение ячейки. – user3518202
Хорошо для вас. Что вы намерены делать с указанными ячейками? –
post link image –