自动移动到父视图控制器
Posted
技术标签:
【中文标题】自动移动到父视图控制器【英文标题】:Automatically moving to parent view controller 【发布时间】:2015-10-15 20:29:14 【问题描述】:我在我的应用程序中使用 mmdrawercontroller...当我从抽屉中选择一个 tableviewcell 时,我在导航控制器上推送 tableview A,然后在从 tableview A 中选择 tableviewcell 时,我在导航控制器上推送 tableview B... tableview B 出现,然后立即弹回 tableview A。
我在 tableview B 的 viewdidload 方法上进行了调试,导航控制器将 tableviewB 与 tableview A 和主视图一起推到了它上面...... tableview B 的所有 tableview 方法也被触发了......但后来不知何故 tableviewB 弹出并重新打开表视图 A... 这种奇怪行为的任何原因..?
注意
但是,当我以模态方式呈现自定义创建的 uinavigational 控制器时(通过以下代码 sn-p),它的行为正常......并且不会弹出......
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:tableviewB];
[self presentViewController:navigationController
animated:YES
completion:^
NSLog(@"presenting modally rather pushing");
];
所以导航控制器肯定出了问题..
【问题讨论】:
【参考方案1】:分享我用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)
【讨论】:
以上是关于自动移动到父视图控制器的主要内容,如果未能解决你的问题,请参考以下文章
将 NSMutableArray 从模态视图控制器传递到父视图
如何将 nib 文件中的 UITableView 加载到父视图控制器中的容器视图中?
如何将子 ViewController 的视图添加到父 View 控制器的子视图中?