我在我的应用程序中使用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");
}];
所以导航控制器肯定会出错......
答案 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)