Я искал по всему интернету это, и я не уверен, что это можно сделать, потому что я новичок в разработке для iOS. Я хочу, когда мое приложение начинает показывать мне только первый раздел заголовка и мои ячейки , Затем, когда я нажимаю на одну из моих ячеек, я хочу показать мне снизу раздел 2 с заголовком, а также ячеками и т. Д. Я правильно установил ячейки и сечения, также я могу выбрать каждую ячейку и правильно изменить цвет фона и т. Д. Мое приложение работает, но оно показывает все разделы и ячейки одновременно.
Например:
Приложение запускается, и я должен видеть только раздел 1:
Заголовок раздела 1
cell1 cell2 cell3
Затем я нажимаю на ячейку 1 и должен видеть только раздел 1 и 2:
Заголовок раздела 1
cell1 cell2 cell3
Заголовок раздела 2
cell1 cell2 cell3 cell4
Затем я нажимаю на cell4, и я должен видеть только разделы 1, 2 и 3:
Заголовок раздела 1
cell1 cell2 cell3
Заголовок раздела 2
cell1 cell2 cell3 cell4
Заголовок раздела 3
cell1 cell2
и т.д.
Я обнаружил, что должен использовать эти методы, упомянутые ниже, но я не знаю, как реализовать разделы show / hide в моей коллекции.
Вот мой код:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let cell = collectionView.cellForItem(at: indexPath)
if indexPath.section == 0 {
if (indexPath.row == 0) {cell!.contentView.layer.backgroundColor = colorLiteral(red: 0, green: 0.4784313725, blue: 1, alpha: 1)}
if (indexPath.row == 1) {cell!.contentView.layer.backgroundColor = colorLiteral(red: 0, green: 0.4784313725, blue: 1, alpha: 1)}
}
}
func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath) {
let cell = collectionView.cellForItem(at: indexPath)
if indexPath.section == 0 {
if (indexPath.row == 0) { cell!.contentView.layer.backgroundColor = colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)}
if (indexPath.row == 1) { cell!.contentView.layer.backgroundColor = colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)}
}
}
func collectionView(_ collectionView: UICollectionView, didHighlightItemAt indexPath: IndexPath) {
}
func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
}