Pan Gesture不使用SWRevealViewController

时间:2015-03-16 22:26:03

标签: ios objective-c uigesturerecognizer uipangesturerecognizer swrevealviewcontroller

我使用SWRevealViewController在我的iOS应用中有侧边栏菜单。我的前后视图控制器都是表视图控制器。我的前视图控制器有一个显示后视图控制器的条形按钮项目,我还启用了平移手势以显示后视图控制器。问题是平移手势识别器仅在第一次工作,但是按钮始终启动后视图控制器。

如果有人可以帮我修复它,那么平移手势总是有效,那就太棒了,谢谢。

从故事板启动切换两个视图的SWRevealViewController。以下是前视图控制器的代码:

- (void)setUpSidebarMenu {

    self.navigationItem.leftBarButtonItem.target = self.revealViewController;
    self.navigationItem.leftBarButtonItem.action = @selector(revealToggle:);
    [self.tableView addGestureRecognizer:self.revealViewController.panGestureRecognizer];
    [self.tableView addGestureRecognizer:self.revealViewController.tapGestureRecognizer];
}

以下是后视控制器的代码:

- (void)setUpSidebarMenu {

    self.navigationItem.leftBarButtonItem.target = self.revealViewController;
    self.navigationItem.leftBarButtonItem.action = @selector(revealToggle:);
    [self.tableView addGestureRecognizer:self.revealViewController.panGestureRecognizer];
}

1 个答案:

答案 0 :(得分:3)

解决了,后视图控制器中没有代码可以处理平移,而不是向self.tableView添加手势,而是将它们添加到self.view

[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
[self.view addGestureRecognizer:self.revealViewController.tapGestureRecognizer];