Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在uiscrollview中为视图提供真正的独家触控?_Ios_Swift_Uiscrollview - Fatal编程技术网

Ios 如何在uiscrollview中为视图提供真正的独家触控?

Ios 如何在uiscrollview中为视图提供真正的独家触控?,ios,swift,uiscrollview,Ios,Swift,Uiscrollview,我将在滚动视图中显示一个图表,当我在图表上拖动时,滚动视图不起作用 我已经尝试在我的视图中使用isExclusiveTouch,但没有达到预期效果 当我要触摸图表并在其上拖动手指以显示其他值时,滚动视图捕获我的触摸事件并进行滚动。我找到了答案。希望这有帮助。 如果要禁用UIScrollView滚动,则应覆盖gestureRecognitizerShouldBegin方法。检测触摸的视图,如果要停止滚动,请返回false,否则必须调用super.gestureRecognitizer应开始(g

我将在滚动视图中显示一个图表,当我在图表上拖动时,滚动视图不起作用

我已经尝试在我的视图中使用
isExclusiveTouch
,但没有达到预期效果


当我要触摸图表并在其上拖动手指以显示其他值时,滚动视图捕获我的触摸事件并进行滚动。

我找到了答案。希望这有帮助。

如果要禁用
UIScrollView
滚动,则应覆盖
gestureRecognitizerShouldBegin
方法。检测触摸的视图,如果要停止滚动,请返回false,否则必须调用super.gestureRecognitizer应开始(gestureRecognitizer)

在我的例子中,我在类中定义了一个常量变量,并将其用作视图中的标记,我希望禁用对其进行滚动

class CustomScrollView:UIScrollView{
滚动的静态let异常\u=1
变量例外视图:[UIView]?
覆盖函数GestureRecognitzerShouldBegin(\uGestureRecognitzer:UIGestureRecognitzer)->Bool{
如果let view=gestureignizer.view{
如果应取消触摸(视图、手势识别器){
返回错误
}
}
返回super.gestureRecognitizerShouldBegin(gestureRecognitizer)
}
私有函数应取消触摸(uView:UIView,uGestureRecognitor:UIGestureRecognitor)->Bool{
if(exceptionViews?.contains(view)??false)| | view.tag==CustomScrollView.EXCEPTION_用于_滚动{
返回真值
}否则{

对于0中的i.。您正在使用此库吗?不,我正在使用,但我的问题是泛型的,不依赖于库。@Benrockey您是否尝试将图表的
isUserInteractionEnabled
属性设置为
false
?@Malik是,它不起作用。