我有一个包含多个UIButton的UIScrollView。当用户输入触摸事件时,每个按钮都接线以执行操作,因此他们可以将手指放在按钮上,并且在它被抬起之前不会被选中。目前,如果我做了一个滑动手势来快速滚动UIScrollView,那么即使手势直接在UIButton上发生,滚动视图也会按预期移动。但是,如果我在UIButton(大约1秒钟)上按住手指太长时间,UIScrollView将不再识别手势,并且在手指抬起之前将无法滚动。
我想知道他们是否总是让UIScrollView识别滚动手势?请注意,如果我在没有UIButton的位置触摸UiScrollView,这不是问题 - 它会按预期滚动。
答案 0 :(得分:0)
值得尝试让UIButton
回复UIControlEventTouchDown
(可能是空行动)。我不确定这是否有效,但从概念上讲,我认为它应该让UIButton
立即捕捉到触摸。
(另请确保您未在滚动视图上启用delaysContentTouches
。)
答案 1 :(得分:0)
我在这里找到了答案:UIScrollview with UIButtons - how to recreate springboard?
基本上,我必须扩展UIScrollView并覆盖touchesShouldCancelInContentView,它总是返回YES。