【问题标题】:Disable swipe in right direction for UICollectionView禁用 UICollectionView 的向右滑动
【发布时间】:2019-04-07 07:49:44
【问题描述】:

当offset 位于 0 时,用户无需向左滑动,因为使用以下代码在该方向上看不到任何东西:-

collectionView.contentOffset.x = max(0,scrollView.contentOffset.x)

但是如果在rightView 上禁用向右滑动呢?

【问题讨论】:

    标签: ios uiscrollview uicollectionview swift4 uipagecontrol


    【解决方案1】:

    你试过了吗?

    collectionView.bounces = false
    

    【讨论】:

    • 很高兴能帮上忙!如果您将此标记为已接受的答案,那将对每个人都有帮助。干杯!
    【解决方案2】:

    我不是 100% 我理解你的问题,但这就是你要找的吗?

    collectionView.contentOffset.x = max(min(collectionView.contentSize.width - collectionView.bounds.width, collectionView.contentOffset.x), 0)
    

    如果是,还要确保 contentSize 大于 collectionView 的 bounds。

    【讨论】:

    • 其实我不是在找这个。我的问题是:当您在右端时,如果您仍然尝试滚动,则会出现一个白页。我试图阻止最后一页的滚动,这样我就可以阻止那个白色区域。
    【解决方案3】:

    使用这个实现 uiscrollviewdelegate

     override func scrollViewDidScroll(_ scrollView: UIScrollView) {
    
    
            var bottomEdge:CGFloat = scrollView.contentOffset.x + scrollView.frame.size.width;
    
            if (bottomEdge == scrollView.contentSize.width)
            {
                // we are at the bottom
                self.collectionView.isScrollEnabled = false
                self.collectionView.isPagingEnabled = false
            } else {
                self.collectionView.isScrollEnabled = true
                self.collectionView.isPagingEnabled = true
            }
    
        }
    

    【讨论】:

    • 感谢您的宝贵时间,但您共享的代码正在检查它是否是右端,但是当您滚动到右端时,它会显示左端(第一个)
    • 是的,这就是为什么我发表评论做任何你想做的事,只要滚动到左边
    • 你可以禁用collectionview的引入
    • 当我在右端时,我试图阻止向右滚动。当您在右端时,如果您仍然尝试滚动,则会出现一个白页。我试图阻止最后一页的滚动,这样我就可以阻止那个白色区域
    • 你在collectionview中使用过分页吗?
    猜你喜欢
    • 1970-01-01
    • 2017-05-02
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    相关资源
    最近更新 更多