禁用滚动触摸,在其子视图上启用手势?

时间:2017-11-17 03:26:53

标签: ios swift

我必须在scrollview上禁用滚动,因此它只能由软件滚动,而不能由用户滚动。

scrollView.isUserInteractionEnabled = false

这个滚动视图有一些视图,它们上面有TapGesture,我启用了它们的互动:

        view.isUserInteractionEnabled=true

但除非我在滚动条上启用交互,否则它将无效。 有没有其他方法可以实现我的目标?

2 个答案:

答案 0 :(得分:1)

isScrollEnabled设为false而不是userInteractionEnabled

scrollView.isScrollEnabled = false

<强> isScrollEnabled

  

如果此属性的值为true,则启用滚动,如果为   它是假的,滚动被禁用。默认值为true。什么时候   滚动视图已禁用,滚动视图不接受触摸事件;   它将它们转发给响应者链。

答案 1 :(得分:1)

请勿使用isUserInteractionEnabled禁用tableView上的滚动。使用isScrollEnabled代替isUserInteractionEnabled,您无需更改视图中的任何内容

scrollView?.isScrollEnabled = false;

如果您将isUserInteractionEnabled设置为false,则会忽略tableView子视图上的触摸,子视图的isUserInteractionEnabled不重要{{1} }或true