1

我有一个垂直滚动视图(不能水平滚动),默认情况下我的标签栏是隐藏的。但是,您可以通过在屏幕底部区域向上滑动,将标签栏向上拉。(内容需要很大的垂直空间)我的困境:我希望能够检测到底部的向上滑动手势我的滚动视图区域,滚动视图没有向下滚动。所以我想在底部区域放置一个透明视图,只检测向上滑动。但这有一个问题,尽管该视图是透明的,但我的所有触摸事件都被该视图拦截并且不会转发到滚动视图。

是否可以只将点击转发到我的滚动视图,所以我仍然能够,例如,按下当前位于我的滚动视图底部区域的按钮?

我知道奇怪的问题,但我无法通过有效的解决方案找到类似的问题。

我的滚动视图代码:

scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 30, 320, self.view.frame.size.height - 50)];
scrollView.showsVerticalScrollIndicator = YES;
scrollView.tag = 0;
scrollView.backgroundColor = [UIColor clearColor];
scrollView.delegate = self;
scrollView.maximumZoomScale = 1.0;
scrollView.clipsToBounds = NO;
scrollView.minimumZoomScale = 1.0;
scrollView.scrollEnabled = YES;
scrollView.pagingEnabled = YES;
scrollview.contentSize = CGMakeSize(320, xxxx);

我的透明视图代码:

UISwipeGestureRecognizer *swipeUp = [[UISwipeGestureRecognizer alloc]
                                      initWithTarget:self
                                      action:@selector(showTabBar)];
swipeUp.direction = UISwipeGestureRecognizerDirectionUp;
UIView *swipeLayer = [[swipeLayer alloc] initWithFrame:CGRectMake(30, self.view.frame.size.height - 80, 260, 40)];
[hideButtonSwipeActions addGestureRecognizer:swipeUp];
[hideButtonSwipeActions setBackgroundColor:[UIColor clearColor]];
//[hideButtonSwipeActions setUserInteractionEnabled:NO];

...
[swipeUp release];

非常感谢您的帮助:)

4

2 回答 2

0

您是否尝试将底部 UIView 的 userInteractionEnabled 属性设置为 NO?它仍然应该允许您的滑动识别器工作,但是它应该阻止视图吞下正常的触摸。

于 2013-12-05T22:56:48.057 回答
0

也许如果您使用触摸坐标(0,480)来跟踪视图底部?

于 2013-05-26T10:54:53.220 回答