在UICollectionView
中,我添加了UIPanGestureRecognizer
。首先 UIPanGestureRecognizer
被禁用,我想在滚动期间 UICollectionView
的 contentOffset.y
达到某个值时启用它。我试图通过以下代码来实现这一目标。但它仅在第二次触摸屏幕时起作用。我想在 contentOffset.y 为 44 时使用手势,而无需松开手指。
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
if collectionView.contentOffset.y == CGFloat(44) {
return false
}
return true
}
最佳答案
是的。根据你的逻辑,它只会在第二次触摸时发生。尝试在scrollView委托(delegate)方法中启用或禁用平移手势,如下所示。
func scrollViewDidScroll(scrollView: UIScrollView) {
if collectionView.contentOffset.y < CGFloat(44) {
panGesture.enabled = false
}
panGesture.enabled = true
}
关于ios - 通过同一触摸在 View 上的手势之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41499732/