2012-07-30 102 views
0

我有一个UIScrollView包含几个UIButtons。当用户输入一个触摸事件时,每个按钮都会被连接起来以便进行操作,这样他们就能够将手指放在按钮上,直到它被抬起时才会被选中。目前,如果我做了一个滑动手势来快速滚动UIScrollView,那么即使手势直接发生在UIButton上,滚动视图也会按预期方式移动。但是,如果我在UIButton(大约1秒)内按住我的手指太长时间,UIScrollView将不再识别该手势,并且在手指抬起之前将无法滚动。如何从UIScrollView中的UIButton传递延迟滚动手势?

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

回答

0

它可能值得一试,让你的UIButton回应UIControlEventTouchDown(也许与一个空的行动)。我不确定这是否会起作用,但从概念上讲,我认为它应该让UIButton立即捕捉触摸。

(还要确保你不会在你的滚动视图使delaysContentTouches

+0

其实,我需要它来响应UIControlEventTouchUp。我不希望按钮立即作出响应,如果触摸输入变为滚动事件,我希望取消按钮事件。 – lehn0058 2012-07-31 00:44:43

+0

不,我的意思是,为UIControlEventTouchDown放一个空的'IBAction'只是为了劫持接触发送到scrollview,然后在'UIControlEventTouchUp'中实现你想要的按钮。 – aforaudrey 2012-07-31 15:12:41