如何从UIScrollView内的UIButton传递延迟滚动手势?

时间:2012-07-30 21:00:43

标签: ios xcode uiscrollview uibutton

我有一个包含多个UIButton的UIScrollView。当用户输入触摸事件时,每个按钮都接线以执行操作,因此他们可以将手指放在按钮上,并且在它被抬起之前不会被选中。目前,如果我做了一个滑动手势来快速滚动UIScrollView,那么即使手势直接在UIButton上发生,滚动视图也会按预期移动。但是,如果我在UIButton(大约1秒钟)上按住手指太长时间,UIScrollView将不再识别手势,并且在手指抬起之前将无法滚动。

我想知道他们是否总是让UIScrollView识别滚动手势?请注意,如果我在没有UIButton的位置触摸UiScrollView,这不是问题 - 它会按预期滚动。

2 个答案:

答案 0 :(得分:0)

值得尝试让UIButton回复UIControlEventTouchDown(可能是空行动)。我不确定这是否有效,但从概念上讲,我认为它应该让UIButton立即捕捉到触摸。

(另请确保您未在​​滚动视图上启用delaysContentTouches。)

答案 1 :(得分:0)

我在这里找到了答案:UIScrollview with UIButtons - how to recreate springboard?

基本上,我必须扩展UIScrollView并覆盖touchesShouldCancelInContentView,它总是返回YES。