在两个视图中处理触摸手势

时间:2015-12-18 11:56:41

标签: ios objective-c

我在层次结构中有两个UIScrollViews个。我将其命名为:scrollView1,它是前面的viewscrollView2,后面是view

scrollView1transparent中有一个view CGRect(0,0,320,568),在content中有一些CGRect(0,568,320,300)。如果用户垂直滚动屏幕,则需要查看来自y = 568

的视图

scrollView2包含一些水平显示的UIImages,每个imageorigin.x = screenWidth * imageIndex开始,其中imageIndex0开始。因此scrollView2必须scroll横向通过imagesUIButtons中也有content

如何才能scroll scrollView1垂直scroll,但同时能够横向scrollView2 UIButtonEventTouchUpInside并触发- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event在它的按钮上。方法view对我没有帮助,因为我必须选择当前FileInputStream是否处理该事件。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我认为您必须检查添加了哪个视图。

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gesture shouldReceiveTouch:(UITouch *)touch 
{            
 // enter code here

}

答案 1 :(得分:0)

对于:

  

如何能够垂直滚动scrollView1但同时能够水平滚动scrollView2

您需要将UISwipeGestureRecognizer实现为:

  - (void)didSwipe:(UISwipeGestureRecognizer*)swipe{

if (swipe.direction == UISwipeGestureRecognizerDirectionLeft) {
    NSLog(@"Swipe Left"); // Implement Horizontal Scroll
} else if (swipe.direction == UISwipeGestureRecognizerDirectionRight) {
    NSLog(@"Swipe Right"); // Implement Horizontal Scroll
} else if (swipe.direction == UISwipeGestureRecognizerDirectionUp) {
    NSLog(@"Swipe Up"); // Implement Vertical Scroll
} else if (swipe.direction == UISwipeGestureRecognizerDirectionDown) {
    NSLog(@"Swipe Down"); // Implement Vertical Scroll
}
}

对于:

  

UIButtonEventTouchUpInside

我不确定您要实施的是什么,但如果您的观点重叠(一个视图落后于其他视图),则需要通过更改其YourTargetView.zPosition

来将目标视图置于最前面