ios - 如何在触摸单元格内的 slider 时取消 collectionView 手势?

标签 ios swift uicollectionview touch uigesturerecognizer

我在 Collection View 中有一个自定义 slider 。我使用 TouchMoved 更改 slider 的值。当 slider 不在 Collection View 中时,它工作得很好,我只需要开始在其 View 内滑动,然后我可以在将手指向下或向上移动到其 View 之外时继续滑动,它仍然可以工作,但是当它处于 Collection View 中时,它仍然可以工作。一旦我的手指离开 slider View ,collectionView就会停止并激活 Collection View 滚动。如何停止 ScrollView 手势并继续使用 slider ?

最佳答案

好吧,我自己找到了答案。这里是: 我在我的单元格类中添加了这个函数

func getParentCollection() -> UICollectionView?
{
    let collection = self.superview as? UICollectionView
    return collection
}

我的 slider 已完成,我这样做:

self.secondaryVolumeSlider.didBeginTouch = {
        self.getParentCollection()?.gestureRecognizers?.forEach({ (gesture) in
            gesture.isEnabled = false
        })
    }
    self.secondaryVolumeSlider.didEndTouching = {
        self.getParentCollection()?.gestureRecognizers?.forEach({ (gesture) in
            gesture.isEnabled = true
        })
    }

因此,当我开始触摸 slider 时,我会关闭单元格 super View (即 Collection View )的所有手势,当我结束滑动时,我会重新打开它们。

关于ios - 如何在触摸单元格内的 slider 时取消 collectionView 手势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52559148/

相关文章:

ios - 如何打开iOS状态栏中的网络指示灯?

ios - 核心图形和数组

ios - UITableViewCell 在滚动后的第一个单元格中显示最后一个单元格。

ios - 下载图像,然后从 Firebase Swift 3 缓存它

ios - 快速字符串操作

ios - collectionViewContentSize() 与 contentSize

ios - UICollectionView 2种不同的背景颜色

ios - Storyboard IB Designables 无法更新自动布局状态 Xcode 8.3.2

swift - .decode 在 swift 4 中返回什么?

ios - 2 带有动态内容的 ScrollView 内的 UIcollectionview