我在 UIScrollView 中有一些 UIButton,但我不想延迟按钮的触摸。但是,一旦滚动视图检测到拖动/滚动,我想取消 UIButton 触摸并继续滚动 UIScrollView。
我已经包括以下...
_scrollView.delaysContentTouches = NO;
...但是(显然)按钮触摸在拖动时不会取消。有人对我如何实现此功能有任何建议吗?
我在 UIScrollView 中有一些 UIButton,但我不想延迟按钮的触摸。但是,一旦滚动视图检测到拖动/滚动,我想取消 UIButton 触摸并继续滚动 UIScrollView。
我已经包括以下...
_scrollView.delaysContentTouches = NO;
...但是(显然)按钮触摸在拖动时不会取消。有人对我如何实现此功能有任何建议吗?
您可以覆盖此方法UIScrollView
。
-(BOOL)touchesShouldCancelInContentView:(UIView *)view
{
return YES;
}
在您的 UIButton 中,您应该为不同的控件事件添加不同的方法。
UIControlEventTouchDown
。UIControlEventTouchUpInside | UIControlEventTouchUpOutside
;UIControlEventTouchCancel
。您可以使用 scrollViewWillBeginDragging 来触发通知并通过在按钮代码中监听它来处理按钮取消。我认为这是您正在尝试做的,但我不确定我是否正确理解了您的问题。