0

我有一个加载表格视图的导航控制器,用户可以从这里选择一个行来加载一个被推入堆栈的详细视图。此详细视图控制器在底部栏中有一个分段控件,该控件使用 [self.view insertSubview:firstDetailViewController.view atIndex:0] 加载到一系列视图中;ETC...

这很好——加载的子视图之一还包含一个加载另一个详细视图的表。这导致了问题,因为我无法从子视图中访问导航控制器。为此,我必须使用:

YourAppDelegate *del = (YourAppDelegate *)[UIApplication sharedApplication].delegate;
[del.navigationController pushViewController:nextViewController animated:YES];

我在这里找到:Accessing a Top Navigation Controller from a Subview Navigation Controller

但是还有另一个需要类似功能的实例。从主视图控制器加载列表视图并以模态方式呈现。从这里我使用 self.navigationController 等将 2 个细节视图推送到这个新的导航堆栈上......效果很好。但是当子视图尝试推送详细视图时它不起作用。self.navigationController 不起作用,appDelegate 一个将它们推送到另一个导航控制器上,而 self.parentViewController.navigationController 不起作用。

有任何想法吗?

4

1 回答 1

0

所以你的 Home VC 确实展示了表格视图的 ModalVC。表格视图执行 self.NavCon pushVC: detail。然后细节无法推送子细节。是这样的情景吗?

我想知道 tableview 从哪里得到它的导航控制器,因为它是模态呈现的,不需要 NavCon。

我还想知道您是否可以将 tableview 推送到 NavCon 而不是模态显示;那么细节应该有一个完整的 NavCon,然后可以反过来推动一个子细节。

希望有帮助。-麦克风

于 2011-05-13T12:10:46.627 回答