Вложенный вид коллекции Swift 4.2 - PullRequest
0 голосов
/ 23 января 2019

У меня есть контроллер вида, который имеет один горизонтальный вид коллекции, который имеет три ячейки. Внутри каждой ячейки у меня есть один вертикальный вид коллекции, который имеет 2 раздела. 1-й раздел имеет одну ячейку, а 2-й раздел - Динамика. Может иметь любое количество ячеек. В первом разделе вертикальной коллекции, которая имеет одну ячейку, она имеет одну горизонтальную коллекцию, которая может иметь любое количество ячеек.

Проблема: когда прокручивается самый внутренний вид коллекции, который находится внутри первого раздела вертикального вида коллекции, и когда он достигает конца представления коллекции, я хочу отключить прокрутку, чтобы мой самый внешний вид коллекции, который имеет три ячейки, мог прокручиваться, и сразу после этого я хочу включить прокрутку самого внутреннего представления коллекции. Так что он может снова прокрутить. Это как просмотр прокрутки или сборник

Nested Collection View

1 Ответ

0 голосов
/ 24 января 2019

enter image description here

Вот аналогичный пример, который имеет представление коллекции в другой ячейке представления коллекции

Пример GitHub

Здесь я пытаюсь получить последнее отображаемое в ячейке событие во внутреннем виде коллекции и отключаю прокрутку.

override func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
        //Checking if its not the inner collection view
        if(collectionView.restorationIdentifier != "Collection")
        {
            //scrolled till datasource.count -1 == 14 in our case
            if( indexPath.row == 14){

                //Disabling the scrolling
                collectionView.isScrollEnabled = false;

                //Saved the collection view , so that the scrolling can be enabled later.
                scrolldisabledCollectionView = collectionView;
            }
        }

    }

А когда прокручивается внешний вид коллекции, включается вид внутренней коллекции.

 override func scrollViewDidEndDecelerating(_ scrollView: UIScrollView)
    {
        if(collectionView?.restorationIdentifier == "Collection")
        {
            scrolldisabledCollectionView?.isScrollEnabled = true
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...