如何检测iCarouselButtonDemo的触摸点?

时间:2015-02-11 09:36:28

标签: ios icarousel

我正在使用iCarouselButtonDemo创建一个圆弧按钮菜单。我想在用户触摸除按钮以外的空间时禁用滚动。但现在我们可以通过触摸UIView的每个点来滚动视图。当用户触摸5个按钮的外部时,如何检测视图的触摸点并禁用滚动

enter image description here

这是我的看法。当我触摸视图的底部时,这是滚动。我怎么能阻止它?

由于

1 个答案:

答案 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