将视图控制器从根推送到详细视图控制器 (SplitView)
Posted
技术标签:
【中文标题】将视图控制器从根推送到详细视图控制器 (SplitView)【英文标题】:Push a view controller from root to detail view controller (SplitView) 【发布时间】:2011-08-31 13:59:19 【问题描述】:我的 splitview 包含 UITable (Masterview) 和 tabbar,每个 tabbaritem (Detailview) 上有导航控制器。我想要的是当我在 Masterview 中单击 tablerow 时,它将在详细视图控制器中推送一个新视图。
我编写了这个迭代来获得正确的 UINavigationController 并推送新视图。不幸的是,这不起作用。它不显示新视图,有时它只是崩溃了。
// code from MasterView
PDFViewer *pdfViewerController = [[PDFViewer alloc] initWithNibName:@"PDFViewer" bundle:nil];
pdfViewerController.pdfData = [[NSData alloc] initWithData: pdfContent];
pdfViewerController.docInfo = curDocInfo;
// gets tabbar controllers
XtendisAppDelegate *appDelegate = (XtendisAppDelegate *)[[UIApplication sharedApplication] delegate];
NSMutableArray *controllers = [NSMutableArray arrayWithArray: appDelegate.tabBarController.viewControllers];
for (UIViewController *curController in controllers)
if ([curController isKindOfClass:[UINavigationController class]])
[curController.navigationController pushViewController:pdfViewerController animated:YES];
break;
[pdfViewerController release];
知道我做错了什么吗? 任何帮助表示赞赏。提前致谢。
干杯, 油井油
【问题讨论】:
可能是UINavigationController
,你会发现它不在视图控制器堆栈的顶部?
【参考方案1】:
尝试替换
[curController.navigationController pushViewController:pdfViewerController animated:YES];
用这个:
[curController pushViewController:pdfViewerController animated:YES];
因为curController
已经是UINavigationController class
的对象
【讨论】:
以上是关于将视图控制器从根推送到详细视图控制器 (SplitView)的主要内容,如果未能解决你的问题,请参考以下文章
如何将segue从表格视图中的单元格单击推送到另一个视图控制器[重复]