我在UIScrollview中有多个自定义子视图,这些子视图继承自UIView并且可以拖动。除了我能够同时拖动两个或更多子视图外,一切正常。手势识别器附加到我的自定义子视图,并在此类中实现。 有没有办法阻止这种行为?
编辑:我已经尝试添加代理
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return false
}
但由于所有子视图都处理了自己的手势识别器,因此无法正常工作。
答案 0 :(得分:0)
GestureRecognizerDelegate
协议具有指定多个手势识别器是否可以同时操作的功能。我不知道这是否适用于您的情况,但值得一试:
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return false
}
答案 1 :(得分:0)
我知道这是一个老问题,但我遇到了同样的问题,我只想同时拖动一个项目。您可以遍历所有可拖动的子视图并更新它们的属性,如下所示。
subiew.isExclusiveTouch = true
subview.isMultipleTouchEnabled = false
现在只有一个子视图可以同时拖动。