防止 UIScrollView 中的 UISlider 触发滚动

Posted

技术标签:

【中文标题】防止 UIScrollView 中的 UISlider 触发滚动【英文标题】:Prevent UISlider in UIScrollView from triggering scroll 【发布时间】:2018-02-27 23:27:18 【问题描述】:

使用 Xcode 9,我在水平滚动 UIScrollView 中有一个 UISlider 作为 UIImageView 的子视图。我的问题是,当用户尝试滑动滑块时,滚动动作被激活。

理想情况下,我希望 UIImageView 和嵌套滑块在触摸时不激活滚动,只有当用户向外滑动时才允许滚动。我尝试在滑块和 UIImageView 上设置 ExclusiveTouch 属性,但没有任何区别。

   self.slider.exclusiveTouch = YES;

谢谢

【问题讨论】:

【参考方案1】:

除了在单个视图上设置 ExclusiveTouch 之外,此答案还建议在 UIScrollView 中将 canCancelContentTouches 设置为 NO。

how to prevent a touch event passed to a UIView's superview?

【讨论】:

以上是关于防止 UIScrollView 中的 UISlider 触发滚动的主要内容,如果未能解决你的问题,请参考以下文章

如何防止使用 UICollectionView 滚动 UIScrollView

防止uiscrollview向右滚动

防止 UIScrollView 向子视图发送触摸

防止重叠的 UIScrollView 滚动

UITableViewCell 与 UIScrollView 防止单元格触摸

拖动子视图时防止 UIScrollView 滚动