如何在基于splitview的iPad应用程序中快速显示文档

问题描述

|| 我必须在基于splitview的应用程序的detailView中显示文档的快速外观。在主视图中,我有一个UITableView,其中包含应用程序文档文件夹中所有文件的列表。我正在尝试以这种方式在DetailViewController中使用QLPreviewController:
QLPreviewController *previewController = [[QLPreviewController alloc] init];
previewController.dataSource = self;
previewController.delegate = self;
previewController.currentPreviewItemIndex = ...;
[[self navigationController] pushViewController:previewController animated:YES];
[previewController release];
我能够看到文档的预览,但是我再也看不到详细视图顶部的工具栏,并且在纵向模式下,我永远都无法动弹,因为我无法在主视图中查看文件列表。我还尝试使DetailViewController成为QLPreviewController的子类,但没有成功。     

解决方法

        我认为,按照您的描述,我相信您需要做的是将PreviewController设置为UISplitViewController的详细信息视图,而不是将PreviewController放入[self navigationController]。 可以这样做
[splitViewController setViewControllers:[NSArray arrayWithObjects:masterViewController,previewController,nil]];
如果您想让导航栏出现来使PreviewController出现,则可以在将UIController设置为UISplitViewController的详细信息视图之前,先用UINavigationController来包装PreviewController,如下所示:
UINavigationController *wrapperNavigationController = [[[UINavigationController alloc] initWithRootViewController:previewController] autorelease];
[splitViewController setViewControllers:[NSArray arrayWithObjects:masterViewController,wrapperNavigationController,nil]];
干杯     ,        尝试
[self presentModalViewController:preview animated:YES]; 
代替
[[self navigationController] pushViewController:previewController animated:YES];
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...