![](/img/trans.png)
[英]SWRevealViewController: Remove interaction on frontview when rearview is revealed
[英]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.