1

我正在使用此源代码添加类似于 Facebook 应用程序的滑动菜单:

Git Hub 项目 ECSlidingViewController:https ://github.com/edgecase/ECSlidingViewController

这是我的自定义 UINavigation 控制器的代码:

@implementation NavViewController

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    if (![self.slidingViewController.underLeftViewController isKindOfClass:[ZAPMenuViewController class]])
    {
        self.slidingViewController.underLeftViewController  = [self.storyboard instantiateViewControllerWithIdentifier:@"Menu"];
    }

    [self.view addGestureRecognizer:self.slidingViewController.panGesture];
}

但是,我有一个 UITableView,我需要能够滑动才能删除。有没有办法在向左滑动时禁用 panGesture,但让 panGesture 向右滑动并显示菜单?

4

2 回答 2

2

还可以查看 ECSlidingViewController 的wiki上的一些答案,其中包括允许同时识别手势。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer
 *)otherGestureRecognizer {
     if ([otherGestureRecognizer.view isKindOfClass:[UIScrollView class]]) {
         return YES;
     } else {
         return NO;
     } }
于 2014-02-21T16:06:01.337 回答
0

作为一种解决方法,您可以使用放置在控制器“背景”中的 UIView 并将 panGesture 连接到它。所以而不是

[self.view addGestureRecognizer:self.slidingViewController.panGesture];

我用 UIView 插座

@property (strong, nonatomic) IBOutlet UIView *slideOutArea;

然后以正确的方法,如 viewWillAppear

[self.slideOutArea addGestureRecognizer:self.slidingViewController.panGesture];
于 2014-02-02T16:31:26.860 回答