【问题标题】:SWRevealViewController stop tap gesture when user is in frontView当用户在 frontView 中时,SWRevealViewController 停止点击手势
【发布时间】:2016-06-21 22:20:18
【问题描述】:

我正在使用SWRevealViewController 滑动菜单。我在前视图中添加了点击手势:

SWRevealViewController *revealController = [self revealViewController];

[revealController tapGestureRecognizer];

我的点击手势有效。但问题是我的前视图有按钮,需要点击才能导航到其他屏幕。有没有办法在启用frontView时禁用点击手势并在按下菜单时启用点击手势?

【问题讨论】:

    标签: ios objective-c uitapgesturerecognizer swrevealviewcontroller


    【解决方案1】:

    我想你试过了

    在您的班级上创建委托

    @interface xxxViewController () <SWRevealViewControllerDelegate>
    

    委托方法为

      - (void)revealController:(SWRevealViewController *)revealController willMoveToPosition:(FrontViewPosition)position
    {
        if (position == FrontViewPositionLeftSide) {
            self.tapGestureRecognizer.enabled = YES;
            // disable your current class action
    
        }
        else if (position == FrontViewPositionLeft){
            self.tapGestureRecognizer.enabled = NO;
            // enable your current class action
    
    
        }
    }
    

    【讨论】:

    • self.tapGestureRecognizer.enabled = YES; 属于revealController?即在r​​evealController中有方法[revealController tapGestureRecognizer];。如何启用和禁用此功能?
    • 是的,兄弟.....,看过一次github.com/John-Lluch/SWRevealViewController/issues/92
    【解决方案2】:

    Import SWRevealViewController.h 在您的滑出菜单类中。然后在您的滑动菜单viewWillAppear 方法中放入这一行-

    -(void) viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:YES];
    
       self.revealViewController.frontViewController.revealViewController.tapGestureRecognizer.enabled=false;
    
    }
    

    并在viewWillDisappear 方法中放入这一行-

    -(void) viewWillDisappear:(BOOL)animated
    {
    
    self.revealViewController.frontViewController.revealViewController.tapGestureRecognizer.enabled=true;
    
    }
    

    【讨论】:

      【解决方案3】:

      在前视图控制器中添加此

      SWRevealViewController *objRevealViewController = [self revealViewController];
      [self.view addGestureRecognizer:objRevealViewController.tapGestureRecognizer];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-07
        • 2015-04-19
        • 1970-01-01
        • 2017-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多