0
SWRevealビューコントローラを使用してサイドメニュー構造を作成しました。私がやりたいことは、一部のページで右側のビューコントローラのオープンをキャンセルすることです。私はこれを調べて、SWRevealViewController rightViewControllerオープニングを無効にする
- (BOOL)revealControllerPanGestureShouldBegin:(SWRevealViewController *)revealController
if([revealController.frontViewController isKindOfClass:[UINavigationController class]]){
UINavigationController *navController = (UINavigationController *)revealController.frontViewController;
UIViewController *lastViewController = navController.viewControllers.lastObject;
if([lastViewController isKindOfClass:[DetailViewController class]] ||
[lastViewController isKindOfClass:[TableDateViewController class]] ||
[lastViewController isKindOfClass:[MapViewController class]])
{
return NO; // I do not want to open it for the view controllers I want
}
}
return YES;
}
これは私のために働いたが、それはまた左page.Thereの開口部に影響を与えたが、タッチアクション(タップジェスチャー)で問題ありませんが、これはgesture.Iパンジェスチャーはどういう意味パンに適用されます実行したいビューコントローラでは機能しません。一部のビューコントローラで正しく動作したいのですが、左側には影響したくありません。 私はこのような権利トグル追加:私はそれを望んでいたとき、私はそれを実行しようとしたが、それはなかった
[self performSegueWithIdentifier:SWSegueRightIdentifier sender:nil];
:
-(void)sideRightMenuLoad{
[((PersonelViewController *)[self.navigationController.viewControllers objectAtIndex:0]).view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
SWRevealViewController *revealViewController = self.revealViewController;
if(revealViewController){
[self.sideRightBarButton setTarget:self.revealViewController];
[self.sideRightBarButton setAction:@selector(rightRevealToggle:)];
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
}
このコードは、右側のページを開くために動作する必要が作業。 私はこの点で助けを待っています。ありがとうございます。あなたはパンジェスチャーの方向性を確認する必要があり
ありがとう!これは私のために働いた:) –