整个视图中的UIGestureRecognizer

Nei*_*eil 6 iphone objective-c ios

我希望能够让手势识别器在屏幕上的任何位置听两个手指轻扫.

现在我在一个子视图中有一个UITableView,当然滚动,它似乎没有拿起我在视图上设置的UIGestureRecognizer.当你使用两个手指时,它只是滚动...

有没有办法制作整个视图,可能是超级视图,听两个手指触摸,当它识别它时,它将不是滚动表视图,做我想要它做什么?

编辑:继承我的代码,但这是一个非常笼统的问题.我只是希望能够在整个视图中使用UIGestureRecognizer,整个过程.

navBarTitle.title = @"Crunch";

//opening the menuView from launch

//setup the customtable view as a subview in menuView
SDMenuViewController *mvc = [[[SDMenuViewController alloc] initWithNibName:@"SDNestedTableView" bundle:nil] autorelease];
[self addChildViewController:mvc];
[mvc didMoveToParentViewController:self];
[menuView addSubview:mvc.view];

[mvc.view setFrame:CGRectMake(mvc.view.frame.origin.x, mvc.view.frame.origin.y, mvc.view.frame.size.width, mvc.view.frame.size.height + 44)]; //add navBarHeight, for some strage reason

//add swipe down gesture on for the menu

UISwipeGestureRecognizer *swipeClose =[[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(closeMenu)] autorelease];
 swipeClose.numberOfTouchesRequired = 2;
 swipeClose.direction = UISwipeGestureRecognizerDirectionUp;

 UISwipeGestureRecognizer *swipeOpen = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(openMenu)] autorelease];
 swipeOpen.numberOfTouchesRequired = 2;
 swipeOpen.direction = UISwipeGestureRecognizerDirectionDown;

for (UIGestureRecognizer* rec in menuView.gestureRecognizers) {
    [rec requireGestureRecognizerToFail:swipeClose];
    [rec requireGestureRecognizerToFail:swipeOpen];
}

for (UIGestureRecognizer* rec in mvc.view.gestureRecognizers) {
    [rec requireGestureRecognizerToFail:swipeClose];
    [rec requireGestureRecognizerToFail:swipeOpen];
}

[mvc.view addGestureRecognizer:swipeClose];
[mvc.view addGestureRecognizer:swipeOpen];

[self.view addGestureRecognizer:swipeClose];
[self.view addGestureRecognizer:swipeOpen];
Run Code Online (Sandbox Code Playgroud)

Nei*_*eil 4

也许我没有解释清楚我的问题。但对于我所做的事情来说,这最终奏效了,也许它会在未来帮助其他人:

在 iPad 应用程序的 UIScrollview 中用两根手指滑动