I am using ECsliding controller for slide menu.swipe gestrure working good in my case but when click button nothing happened.
My case is:
After two screen, I wanted to show slide menu so i have set ECSlide like belowe in my second screen and so far everything ok. In third view controller I set a button to show menu.Button get clicked but menu not open.
- (void)viewWillAppear:(BOOL)animated{
if (![self.slidingViewController.underLeftViewController isKindOfClass:[LeftViewController class]]) {
self.slidingViewController.underLeftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"LeftViewController"];
}
[self.navigationController setNavigationBarHidden:YES animated:YES];
if ([self.checkStr isEqualToString:@"1"])
{
//provider
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main"
bundle: nil];
LeftViewController *leftMenu = (LeftViewController*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"LeftViewController"];
// Create your menu view controller
ProfileController *leftMenuONE = (ProfileController*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"ProfileControllerID"];
// configure top view controller
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:leftMenuONE];
self.slidingViewController = [ECSlidingViewController slidingWithTopViewController:navigationController];
self.slidingViewController.underLeftViewController = leftMenu;
// enable swiping on the top view
[navigationController.view addGestureRecognizer:self.slidingViewController.panGesture];
// configure anchored layout
self.slidingViewController.anchorLeftRevealAmount = 250.0;
[self.navigationController pushViewController:self.slidingViewController animated:YES];
}
else
{
//user
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main"
bundle: nil];
LeftViewController *leftMenu = (LeftViewController*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"LeftViewController"];
// Create your menu view controller
UserProfileController *leftMenuONE = (UserProfileController*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"UserProfileControllerID"];
// configure top view controller
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:leftMenuONE];
self.slidingViewController = [ECSlidingViewController slidingWithTopViewController:navigationController];
self.slidingViewController.underLeftViewController = leftMenu;
// enable swiping on the top view
[navigationController.view addGestureRecognizer:self.slidingViewController.panGesture];
// configure anchored layout
self.slidingViewController.anchorLeftRevealAmount = 250.0;
[self.navigationController pushViewController:self.slidingViewController animated:YES];
}
}
LeftViewController is my menu view controller.
Third view controller will load based condition.example if string is one,it will go to one view controller otherwise anther view controller.
Thirdview.h
- (IBAction)menuAction:(id)sender
{
[self.slidingViewController anchorTopViewToRightAnimated:YES];
}
-(void)viewWillAppear:(BOOL)animated
{
if (![self.slidingViewController.underLeftViewController isKindOfClass:[LeftViewController class]]) {
self.slidingViewController.underLeftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"LeftViewController"];
}
}