0

我在我的应用程序中使用 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"); 
                 }];

所以导航控制器肯定出了问题..

4

1 回答 1

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)
于 2015-10-16T03:20:25.590 回答