Добрый вечер! Подскажите как добиться от CollectionView такого результат. У секции свой header у коллекции свой
CollectionView Header, section Header
В продолжение подскажите как добавлять данные из массива начиная с section 1.
Сделал так , нужного результат не получил
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
if section == 0 {
return .zero
}
return p[section].value.count
}
Номер зала это header секции, и время сеанса это ячейки
Optional(“4”) Optional(“22:50”)
Optional(“4”) Optional(“12:30”)
Optional(“4”) Optional(“17:40”)
Optional(“4”) Optional(“15:05”)
Optional(“4”) Optional(“20:15”)
У меня получается что данные начинают заполняться с 0 headera и 0 section. А мне нужно, чтобы 0 были пустые я в них буду другую информацию добавлять
Главное меню
Кликаю по фильму Форсаж (без условий секций) получается так
Делаю с условиями выходит так
Попробуйте для начала логику разделить на разные VC. У вас тут каша. Вы в одном VC пытаетесь отобразить разные типы ячеек/секций. И судя по заполнению ячеек, у вас в классе ячейки должна быть каша с логикой так же.
Вообще тут должно быть все просто.
section 0 - collectionview header
- cells 0
section 1 - section header - cells N
section 2 - section header - cells M
и т.д.
и логика с проверкой текущей секции должна быть в 2 методах numberOfItemsInSection и celllForItemAt
Так-то у меня 2 vc. 1 menuvc , 2 detailvc. И проверку делал в двух методах. Или я чего-то не догоняю
[Optional("1"): [HappyCinema.TimeSession(time: Optional("16:25"), hall: Optional("1"), formats: Optional(["2D"]), upgrades: Optional([""])), HappyCinema.TimeSession(time: Optional("21:35"), hall: Optional("1"), formats: Optional(["2D"]), upgrades: Optional([""])), HappyCinema.TimeSession(time: Optional("19:00"), hall: Optional("1"), formats: Optional(["2D"]), upgrades: Optional([""]))], Optional("4"): [HappyCinema.TimeSession(time: Optional("15:05"), hall: Optional("4"), formats: Optional(["2D"]), upgrades: Optional([""])), HappyCinema.TimeSession(time: Optional("17:40"), hall: Optional("4"), formats: Optional(["2D"]), upgrades: Optional([""])), HappyCinema.TimeSession(time: Optional("10:00"), hall: Optional("4"), formats: Optional(["2D"]), upgrades: Optional([""])), HappyCinema.TimeSession(time: Optional("12:30"), hall: Optional("4"), formats: Optional(["2D"]), upgrades: Optional([""])), HappyCinema.TimeSession(time: Optional("20:15"), hall: Optional("4"), formats: Optional(["2D"]), upgrades: Optional([""])), HappyCinema.TimeSession(time: Optional("22:50"), hall: Optional("4"), formats: Optional(["2D"]), upgrades: Optional([""]))]]
p[section - 1]
и Array(sectionFilm)[indexPath.section - 1]
только это все должно быть внутри условия if section > 0
или if indexPath.section > 0