2017-02-28 48 views
1

我有一個UICollectionView,稱爲parentCollectionView,它水平滾動。在每個parentCollectionView的單元格內,是另一個UICollectionView,稱爲childCollectionView,它垂直滾動。另外,parentCollectionView被設置爲分頁(pagingEnabled = true)。嵌套的UICollectionViews滾動問題(iOS)

因此,您可以向左/向右滾動到下一個parentCollectionView,您可以向上/向下滾動childCollectionView

但是,有關於衝突手勢的問題。在第一個水平滑動中,會識別childCollectionView滾動手勢。它無法水平滑動,並且不會在子集視圖中向下滾動。但是在第二次水平滑動時,它將按照原樣切換到下一個水平單元格。

如何防止兒童collectionview註冊第一次水平滑動?當我在childCollectionView上設置isScrollEnabled = false時,它解決了這個問題,但我仍然想在我的子集合視圖中向下滾動。

這是通過gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:完成的東西嗎?我曾嘗試將scrollView在this stack overflow question的最佳答案繼承,但未成功。

乾杯

回答

0

它顯示爲問題是,childCollectionView的內容的大小是比所述框架大。因此,childCollectionView被給出了它在childCV內正確滾動的印象。我確保內容大小與CV幀相同。

//In my case, the childCV's width is exactly UIScreen.main.bounds.width - 30 
let scrollSize = CGSize(width: UIScreen.main.bounds.width - 30, height: self.listCollectionView.contentSize.height) 

listCollectionView.contentSize = scrollSize