我有一个加载表格视图的导航控制器,用户可以从这里选择一个行来加载一个被推入堆栈的详细视图。此详细视图控制器在底部栏中有一个分段控件,该控件使用 [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 不起作用。
有任何想法吗?