我有一个UIScrollView内的一些UIButtons,但我不希望延迟按钮触摸。 然而,一旦滚动视图检测拖动/滚动,我想取消的UIButton触摸并用的UIScrollView的滚动进行。
我已经包括以下...
_scrollView.delaysContentTouches = NO;
...但(显然)按钮的触摸不会拖的时候取消。 有没有人有任何建议,我怎么能实现这个功能?
我有一个UIScrollView内的一些UIButtons,但我不希望延迟按钮触摸。 然而,一旦滚动视图检测拖动/滚动,我想取消的UIButton触摸并用的UIScrollView的滚动进行。
我已经包括以下...
_scrollView.delaysContentTouches = NO;
...但(显然)按钮的触摸不会拖的时候取消。 有没有人有任何建议,我怎么能实现这个功能?
您可以覆盖这个方法UIScrollView
。
-(BOOL)touchesShouldCancelInContentView:(UIView *)view
{
return YES;
}
而在你的UIButton,你应该针对不同的控件的事件添加不同的方法。
UIControlEventTouchDown
。 UIControlEventTouchUpInside | UIControlEventTouchUpOutside
UIControlEventTouchUpInside | UIControlEventTouchUpOutside
; UIControlEventTouchCancel
。 你可以使用scrollViewWillBeginDragging到断火的通知,并通过在按钮的代码侦听它的处理按钮取消。 我认为这是你正在尝试做的,但我不知道如果我理解正确你的问题。