自动移动到父视图控制器

时间:2015-10-15 20:29:15

标签: ios objective-c uitableview uinavigationcontroller mmdrawercontroller

我在我的应用程序中使用mmdrawercontroller ...当我从抽屉中选择一个tableviewcell时,我在我的导航控制器上推送tableview A,然后从tableview A中选择tableviewcell,我在我的导航控制器上推送tableview B ... tableview B出现,然后立即弹回tableview A。

我在tableview B的viewdidload方法上进行了调试,导航控制器将tableviewB与tableview A和主视图一起推到了... tableview B的所有tableview方法也被触发了..但之后某种方式tableviewB弹出并重新开启tableview A ... 这种奇怪行为的任何原因..?

注意

然而,当我以模态方式呈现自定义创建的uinavigational控制器(通过以下代码片段)时,它表现正常......并且不会弹出....

 UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:tableviewB];

[self presentViewController:navigationController
                   animated:YES
                 completion:^{
                    NSLog(@"presenting modally rather pushing"); 
                 }];

所以导航控制器肯定会出错......

1 个答案:

答案 0 :(得分:0)

分享我在swift中写的想法,如果你想从tableViewA推送tableViewB,在你的AppDelegate中:

self.window = UIWindow()    
let tvc = TableViewAController()
let nvc = UINavigationController(rootViewController: tvc)    
window.rootViewController = nvc
window.makeKeyAndVisible()

当你想在tableViewA中推送tableViewB时:

let nextVC = TableViewBController()
nvc.pushViewController(nextVC)