我有UIScrollView
,我在其上添加了UIView
,我向UIView
添加了手势识别器。我添加了点击手势和滑动手势到UIView
,它工作正常。但是当用户使用捏时,我想被UIView
忽略,而UIScrollView
应该对此手势做出反应。我该怎么做?我无论如何都不能这样做。我知道有测试方法,但我认为它不能帮助我。
编辑:我在顶部有UIView
,现在可以捕获(捕获)所有手势。对于轻击和滑动手势,这就是我想要的。但我希望捏手势会被顶部UIView
忽略,并被UIScrollView
下方的UIView
抓住。我试图寻找解决方案,但我找不到任何解决方案。
答案 0 :(得分:0)
您是否尝试过以下代码禁用任何实例的用户互动:
scrollViewObject.userInteractionEnabled = NO;
应该有所帮助。
答案 1 :(得分:0)
如果您的UIView
位于顶部并且正在捕获所有手势,请设置委托方法gestureRecognizerShouldBegin
并让其检测手势类型。如果是pinch
,则在UIScrollView
func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
if gestureRecognizer.isKind(of: UIPinchGestureRecognizer.self) {
scrollView.someFunction()
}
return true
}
如果愿意,您也可以将捏合手势的实例传递给您的滚动视图功能。