取到导航控制器当前显示的控制器


例子背景:在侧滑控制器的左边(右边)控制器中(无导航栏),点击一个单元格(或  按钮等)关闭侧边栏的同时让中间控制器的界面 回到跟控制器(如果是标签控制器,需要写多个就可以了)

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

    [super setSelected:selected animated:animated];

  self.selectionStyle = UITableViewCellSelectionStyleNone;

    //通过窗口的根视图 取到侧滑控制器的 中间控制器(导航控制器)然后通过数组(navigationController.childViewControllers)取到最后一个元素(当前显示的控制器)

    MMDrawerController *mmdra =(MMDrawerController *) self.window.rootViewController;

    NSArray *array = mmdra.centerViewController.childViewControllers;

    UIViewController *vc = array.lastObject;

    [vc.navigationController popToRootViewControllerAnimated:YES];

你可能感兴趣的:(取到导航控制器当前显示的控制器)