0

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

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

4

2 回答 2

0

可能值得尝试让您UIButton做出回应UIControlEventTouchDown(也许是空的动作)。我不确定这是否可行,但从概念上讲,我认为它应该让UIButton捕捉立即触动。

(还要确保您没有delaysContentTouches在滚动视图上启用。)

于 2012-07-30T22:48:15.087 回答
0

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

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

于 2012-07-31T11:20:51.993 回答