MultiScrolling UIColectionView внутри UIScrollView - PullRequest
1 голос
/ 28 марта 2019

У меня есть контроллер представления профиля, и это родительское представление - scrollView. Но внутри него есть collectionView для рецептов.

Образец изображения: https://i.stack.imgur.com/ziRC7.png

Я хочу управлять прокруткой от scrollView до collectionView. Поэтому в моей функции scrollViewDidScroll я написал этот код, но он не работает.

class userProfileView: UIViewController ,UICollectionViewDelegate, UICollectionViewDataSource, UIScrollViewDelegate {

@IBOutlet weak var recipesCollectionView: UICollectionView!
@IBOutlet weak var main_scrollview: UIScrollView!

func scrollViewDidScroll(_ scrollView: UIScrollView) {

    if (recipesCollectionView.contentOffset.y <= 0 && main_scrollview.contentOffset.y < (main_scrollview.contentSize.height - main_scrollview.frame.size.height))  {

            main_scrollview.isScrollEnabled = true
            recipesCollectionView.isScrollEnabled = false
    }

    else if (main_scrollview.contentOffset.y >= (main_scrollview.contentSize.height - main_scrollview.frame.size.height)) {

        main_scrollview.isScrollEnabled = false
        recipesCollectionView.isScrollEnabled = true


    }

 }

}

В чем проблема?

Заранее спасибо!

1 Ответ

0 голосов
/ 28 марта 2019

Вложенные виды прокрутки могут быть сложными для управления.Вы должны написать логику для таких вещей, как скорость и откуда начался свиток.

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

Как правило, яне будет использовать пользовательские виды прокрутки, если у вас нет веских причин.TableViews и CollectionViews достаточно мощны для большинства распространенных макетов и сценариев.

...