繁体   English   中英

用户在frontView中时,SWRevealViewController停止轻击手势

[英]SWRevealViewController stop tap gesture when user is in frontView

我正在使用SWRevealViewController进行滑动菜单。 我使用以下命令在前视图中添加了轻按手势:

SWRevealViewController *revealController = [self revealViewController];

[revealController tapGestureRecognizer];

我的轻按手势有效。 但是问题是我的前视图有一个按钮,需要水龙头才能导航到其他屏幕。 有什么方法可以在启用frontView时禁用点击手势并在按下菜单时启用点击手势?

我想你试过了

在您的班级上创建代表

@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


    }
}

在滑出菜单类中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;

}

在前视图控制器中添加此

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM