ios - 平移手势不适用于 SWRevealViewController

标签 ios objective-c uigesturerecognizer uipangesturerecognizer swrevealviewcontroller

我正在使用 SWRevealViewController 在我的 iOS 应用程序中添加侧边栏菜单。我的前后 View Controller 都是表格 View Controller 。我的前 View Controller 有一个显示后 View Controller 的条形按钮项,我还启用了平移手势来显示后 View Controller 。问题是平移手势识别器只在第一次工作,但条形按钮总是启动后视 Controller 。

如果有人可以帮助我修复它,使平移手势始终有效,那就太好了,谢谢。

切换两个 View 的 SWRevealViewController 从 Storyboard 中启动。这是前 View Controller 的代码:

- (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];
}

这是后视 Controller 的代码:

- (void)setUpSidebarMenu {

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

最佳答案

已解决,后 View Controller 中应该没有代码来处理平移,而不是将手势添加到 self.tableView,而是将它们添加到 self.view:

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

关于ios - 平移手势不适用于 SWRevealViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29088078/

相关文章:

iphone - 程序收到信号 EXC_BAD_ACCESS 访问数组

ios - UILongPressGestureRecognizer 识别其 View 外的触摸

objective-c - 澄清 Cocoa 语法中的星号和下划线

iphone - iOS 应用能否进入无法从设备中删除的状态?

ios - 使用 AVFoundation Swift 保存视频

ios - TouchsBegan 无法在 iOS 中的 UIView 上工作?

swift:计时器(每秒)+gestureRecognizer 使 GUI 崩溃

html - ios UIWebView上的Textfield css内部阴影

objective-c - 即使应用程序退出,如何在菜单栏中显示应用程序图标

iphone - 在不触发 touchesCancelled 的情况下滚动 UIScrollView