Enable JASidePanels in only one viewController

574 Views Asked by At

I have already implemented JASidePanelController with storyboards way in a project and it works fine. I have a Storyboard like this:

[NavigationController] -> [MySidePanelControllerViewController]   [LoginVC] -> [HomeVC] -> [ListVC] -> [DescriptionVC]

And the swipe menu is in LoginVC that has Storyboard's ID centrerViewController.

Now I would like to have the swipe menu only in ListVC. How can I do that?

If I give Stroryboard ID centrerViewController to ListVC the application starts at ListVC, not at loginVC.

1

There are 1 best solutions below

4
On

I have done the same thing but using MFSideMenuContainerViewController

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController
                                                        containerWithCenterViewController:_rootNavController
                                                        leftMenuViewController:settingDrawerController
                                                        rightMenuViewController:nil];
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    [self.window makeKeyAndVisible];
    [self.window setRootViewController:container];
}

and I have set my controller at application delegate and present the loginViewContrller as model view from

- (void)applicationDidBecomeActive:(UIApplication *)application {

        [self showLoginView];
 }





- (void)showLoginView
{
    UIViewController *topViewController = [self.navController topViewController];
    if (![topViewController isKindOfClass:[LGLoginViewController class]]) {
        [self.navController popToRootViewControllerAnimated:YES];
        self.navController = nil;

        LGLoginViewController* loginView = [[LGLoginViewController alloc] initWithNibName:@"LGLoginViewController"bundle:nil];

        if (!self.navController) {
            self.navController = [[UINavigationController alloc] initWithRootViewController:loginView];
        } else {
            [self.navController initWithRootViewController:loginView];
        }

        self.navController.delegate = self;
        [self.window.rootViewController presentModalViewController:self.navController animated:NO];
    }
}