如何阻止 UIScrollView 吞下触摸
Posted
技术标签:
【中文标题】如何阻止 UIScrollView 吞下触摸【英文标题】:How to Stop a UIScrollView from Swallowing Touches 【发布时间】:2012-07-14 01:13:58 【问题描述】:我有UIScrollView
有很多子视图。当我滚动时,我想点击要拖动的子视图。有没有办法让UIScrollView
停止吞咽?或者当您取消滚动时是否可以开始新的触摸(就像它滚动并且我点击它一样,子视图也会被点击以便我可以将其拖出)?
【问题讨论】:
【参考方案1】:子类 UIScrollView 并覆盖 - (BOOL)touchesShouldCancelInContentView:(UIView *)view
方法。这是一个允许 uibutton 触摸通过的示例:
#import "scrollViewWithButtons.h"
@implementation scrollViewWithButtons
- (BOOL)touchesShouldCancelInContentView:(UIView *)view
return ![view isKindOfClass:[UISlider class]];
@end
【讨论】:
感谢您的回复!但是可以说,UISlider
是UIImageView
,但我有很多UIImageView
s,那我应该如何处理它?
我有UIScrollView
,其中有UIView
s。 UIView
有UIImageView
,可以选择也可以拖动。现在,问题是,当我滚动并再次点击它以取消/停止滚动时,我还想检查我是否点击了UIImageView
,以便将其拖出。但是发生的事情是,滚动停止了。谢谢!
我不确定是否有办法在 uiscrollview 内滚动(默认滚动除外)
我不想滚动,我只想尽可能在滚动视图中进行触摸事件。另外,有没有办法知道用户是否在拖动或滑动等?谢谢!
听起来你想要类似跳板的东西?您可以通过长按来拖动项目以“抓取”它们,否则滑动会导致滚动?以上是关于如何阻止 UIScrollView 吞下触摸的主要内容,如果未能解决你的问题,请参考以下文章