ios - Swift - 水平 CollectionView 中的滚动停止在 UIScrollView 中工作

标签 ios uiscrollview uicollectionview

这是一个棘手的问题......

我在 View Controller 中有一个 ScrollView,里面有多个 CollectionView。 CollectionViews 是为水平滚动的个人资料照片设置的。

我希望 ScrollView 垂直滚动,而不是水平滚动。我使用以下代码对 ScrollView 执行此操作:

    func scrollViewDidScroll(scrollView: UIScrollView) {
    if scrollView.contentOffset.x>0 {
        scrollView.contentOffset.x = 0
    }

    if scrollView.contentOffset.x < 0 {
        scrollView.contentOffset.x = 0
    }
}

这按预期工作,我使用了 UIScrollViewDelegate 并将 ScrollView 设置为:

self.scrollView.delegate = self

现在是棘手的部分……CollectionView 不再水平滚动。我假设这是因为父 ScrollView 接管了 View ,和/或上面的代码也阻止了 CollectionView 中的水平滚动。

有人对我如何实现我的目标有一些想法吗?

干杯, 亚伦

最佳答案

在你的 scrollViewDidScroll 方法中尝试这样的事情

func scrollViewDidScroll(scrollView: UIScrollView) {
    if (scrollView == self.scrollView) {
        if scrollView.contentOffset.x>0 {
            scrollView.contentOffset.x = 0
        }

        if scrollView.contentOffset.x < 0 {
            scrollView.contentOffset.x = 0
        }
    }
}

因为collectionView也有scrollView的delegate。
希望这对您有所帮助。

关于ios - Swift - 水平 CollectionView 中的滚动停止在 UIScrollView 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37771552/

相关文章:

ios - Swift - Grand Central Dispatch 与 block /闭包

ios - 无法将项目添加到 UIView xib 中的 UICollectionView

objective-c - float uiview subview 在滚动时消失

iPhone iOS NSMutableAttributedString 编辑器示例

ios - 如何检测 UIScrollView 中的触摸点

ios - UIImageViews 在带有分页的 UIScrollView 中无法正确缩放

ios - 为什么 UICollectionViewDiffableDataSource 在没有任何变化的情况下重新加载每个单元格?

swift - UIcollectionView 单元格设置 ZIndex 。我想使用 UICollectionView 创建 Card Cell

ios - didDeselectRowAtIndexPath 未被调用

ios - UIScrollView 弹回来