我正在使用iCarouselButtonDemo
创建一个圆弧按钮菜单。我想在用户触摸除按钮以外的空间时禁用滚动。但现在我们可以通过触摸UIView
的每个点来滚动视图。当用户触摸5个按钮的外部时,如何检测视图的触摸点并禁用滚动
这是我的看法。当我触摸视图的底部时,这是滚动。我怎么能阻止它?
由于
答案 0 :(得分:0)
在iCarousel实现文件中,您将在gestureRecognizerShouldBegin
方法中添加以下代码。所以它看起来像这样。它首先在iCarousel视图中获取触摸点,并通过hitTest找到响应触摸的最内层视图。如果视图不是按钮,则停止平移手势。
if ([gesture isKindOfClass:[UIPanGestureRecognizer class]])
{
CGPoint point = [gesture locationInView:self];
UIView *touchedView = [self hitTest:point withEvent:nil];
if (![touchedView isKindOfClass:[UIButton class]]) {
return NO;
}
//ignore vertical swipes