2016-05-05 7 views
0

Ich benutze Seite Schublade Menü Ich kann nicht zurück mit benutzerdefinierten UIButton kommen.Wie pufft man einen Viewcontroller mit benutzerdefinierter Back-UIbutton?

- (IBAction)doBackAction:(id)sender { 
     NSArray *viewControllers=self.navigationController.viewControllers; 
    for (UIViewController *viewController in viewControllers) { 
     NSLog(@"%@",NSStringFromClass([viewController class])); 
     UINavigationController *obj=(UINavigationController *)[self.mm_drawerController centerViewController]; 

    } 
    UINavigationController *nav = 
    (UINavigationController *)self.mm_drawerController.centerViewController; 
    [nav popToRootViewControllerAnimated:NO]; 
    [self.navigationController popViewControllerAnimated:YES]; 
    [self.mm_drawerController closeDrawerAnimated:YES completion:nil]; 

} 

ich versucht habe diese https://github.com/mutualmobile/MMDrawerController/issues/195 auch ich kann es nicht machen.

Antwort

0

Sie betrachten könnte eine globale Variable (ea auf einem Singleton oder in einer Datenbank) Einstellung, die Viewcontroller Sie mit viewDidDissapear kam:

- (void)viewDidDissapear { 
    Singleton.lastViewController = [self class]; 
} 

Von dort können Sie dies tun wissen, wo man herkommt (ea ein IBAction):

// Set your global variable: `NSString` Singleton.lastViewController 

[self presentViewController:[[UIStoryboard storyboardWithName:@"Main_iPad" bundle:nil] instantiateViewControllerWithIdentifier:Singleton.lastViewController] animated:YES completion:nil]; 

ich benutze dies für Anwendungen, die benutzerdefinierte segues und programmiert Navigation haben.

+0

Lassen Sie mich das versuchen –

0

Bitte versuchen Sie es. Kann seine Hilfe für Sie sein

 for (UIViewController *controller in self.navigationController.viewControllers) 
      { 


       if ([controller isKindOfClass:[CartVC class]]) 
       { 
        //Do not forget to import CompareCarsVC.h 
        //    CATransition *transition = [CATransition animation]; 
        //    transition.duration = 0.5; 
        //    transition.type = kCATransitionFade; 
        // 
        //    [self.navigationController.view.layer addAnimation:transition forKey:kCATransition]; 

        [self.navigationController popToViewController:controller 
                  animated:NO]; 
        break; 
       } 
      } 
Verwandte Themen