我在集合视图中有一个自定义滑块。我使用touchesMoved更改滑块的值。滑块不在收藏夹视图中时效果很好,我只需要开始在其视图内滑动,然后就可以继续滑动,同时在其视图外上下移动手指仍然可以,但是当它处于一旦手指离开了滑块视图,collectionView就会停止,并且collection view滚动被激活。如何停止滚动视图手势并继续使用滑块?
答案 0 :(得分:0)
好的,我自己找到了答案。这里是: 我在单元格类中添加了此功能
func getParentCollection() -> UICollectionView?
{
let collection = self.superview as? UICollectionView
return collection
}
我的滑块完成了,我这样做:
self.secondaryVolumeSlider.didBeginTouch = {
self.getParentCollection()?.gestureRecognizers?.forEach({ (gesture) in
gesture.isEnabled = false
})
}
self.secondaryVolumeSlider.didEndTouching = {
self.getParentCollection()?.gestureRecognizers?.forEach({ (gesture) in
gesture.isEnabled = true
})
}
因此,当我开始触摸滑块时,我将关闭单元格超级视图的所有手势(即集合视图),并在结束滑动时将其重新打开。