2016-03-28 4 views
0

Ich verwende MMDrawerController Bibliothek. Meine Anwendung ist in Ziel C. Es hat einen Anmeldebildschirm als erster Bildschirm. -Code für AppDelegate.mMMDrawerController mit Login Als erste Ansicht anzeigen

LoginViewController* loginView= [[LoginViewController alloc]initWithNibName:@"LoginViewController"] bundle:nil]; 
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:loginView]; 
    self.loginViewController = navigationController; 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    [self.window setRootViewController:navigationController]; 
    [window makeKeyAndVisible]; 

Jetzt Wenn LOGIN erfolgreich Ich gehe HomeViewController. Hier muss ich den rootViewController in MMDrawerController ändern, damit die Bibliothek funktioniert. Dazu schreibe ich den folgenden Code in ViewDidLoad() von HomeViewController.m

-(Void)methodCalledInViewDidLoad 
{ 
    UIViewController * leftSideDrawerViewController = [[MMExampleLeftSideDrawerViewController alloc] init]; 
    UIViewController * centerViewController = [[HomeViewController alloc] init]; 
    UIViewController * rightSideDrawerViewController = [[RightViewController alloc] init]; 
    UINavigationController * navigationController = [[UINavigationController alloc] initWithRootViewController:centerViewController]; 
    [navigationController setRestorationIdentifier:@"HomeViewController"]; 
    self.drawerController = [[MMDrawerController alloc]       initWithCenterViewController:navigationController      leftDrawerViewController:leftSideDrawerViewController 
          rightDrawerViewController:nil]; 
    [self.drawerController setRestorationIdentifier:@"HomeViewController"]; 
    [self.drawerController setMaximumLeftDrawerWidth:200.0]; 
    [self.drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeAll]; 
    [self.drawerController setCloseDrawerGestureModeMask:MMCloseDrawerGestureModeAll]; 
    [self.drawerController 
    setDrawerVisualStateBlock:^(MMDrawerController *drawerController, MMDrawerSide drawerSide, CGFloat percentVisible) { 
     MMDrawerControllerDrawerVisualStateBlock block; 
     block = [[MMExampleDrawerVisualStateManager sharedManager] 
        drawerVisualStateBlockForDrawerSide:drawerSide]; 
     if(block){ 
      block(drawerController, drawerSide, percentVisible); 
     } 
    }]; 
appDelegate.self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    [appDelegate.self.window setRootViewController:self.drawerController]; 

} 

Dies funktioniert nicht und Fehler zeigt. Ich habe alle verfügbaren Tutorials verfolgt. Die RootViewController ändert sich nicht zu drawerController in HomeViewController

+0

unter Code funktioniert ????? –

Antwort

0
AppDelegate *appDel=(AppDelegate)[[UIApplication sharedApplication]delegate]; 
    [appDel.window setRootViewController:self.drawerController]; 

Immer noch nicht gehen zu MFSlidebar arbeiten. https://github.com/mikefrederick/MFSideMenu

+1

Es funktioniert nicht. ! – Maverik

+0

dann zu MSSlidebar gehen. –

Verwandte Themen