问题描述
我的 UIScrollView 有很多子视图.当我滚动时,我想点击要拖动的子视图.有没有办法让 UIScrollView 停止吞咽触摸?或者当您取消滚动时是否可以开始新的触摸(就像它滚动并且我点击它一样,子视图也会被点击以便我可以将其拖出)?
I have UIScrollView that has many subviews. When I scroll, I want to tap on a subview which I want to be dragged. Is there a possible way to make the UIScrollView stop from swallowing touches? Or is it possible to start new touch when you cancel the scrolling (like what it scrolls and I tapped on it, the subview will be tapped as well so I can drag it out)?
推荐答案
继承 UIScrollView 并覆盖 - (BOOL)touchesShouldCancelInContentView:(UIView *)view 方法.这是一个允许 uibutton 触摸通过的示例:
Subclass UIScrollView and override the - (BOOL)touchesShouldCancelInContentView:(UIView *)view method. Here's an example to allow uibutton touches to pass through:
#import "scrollViewWithButtons.h" @implementation scrollViewWithButtons - (BOOL)touchesShouldCancelInContentView:(UIView *)view { return ![view isKindOfClass:[UISlider class]]; } @end