我必须在基于splitview的应用程序的detailView中快速查看文档。在主视图中,我有一个UITableView,其中包含我的应用程序的Document文件夹中的所有文件的列表。
我正在尝试使用DetailViewController中的QLPreviewController,这样:
QLPreviewController *previewController = [[QLPreviewController alloc] init];
previewController.dataSource = self;
previewController.delegate = self;
previewController.currentPreviewItemIndex = ...;
[[self navigationController] pushViewController:previewController animated:YES];
[previewController release];
我能够看到文档的预览,但我不再看到详细视图顶部的工具栏,并且在纵向模式下我永远被卡住了,因为我无法看到主视图中的文件列表。
我也尝试制作QLPreviewController的DetailViewController子类,但没有成功。
答案 0 :(得分:1)
尝试
[self presentModalViewController:preview animated:YES];
而不是
[[self navigationController] pushViewController:previewController animated:YES];
答案 1 :(得分:1)
我认为不是将previewController推送到[self navigationController],而是我认为你需要做的就是将你的描述设置为你的UISplitViewController的详细视图。
这可以这样做
[splitViewController setViewControllers:[NSArray arrayWithObjects:masterViewController, previewController, nil]];
如果你想让previewController的导航栏出现,你可以使用UINavigationController包装previewController,然后将其设置为UISplitViewController中的详细视图,如下所示:
UINavigationController *wrapperNavigationController = [[[UINavigationController alloc] initWithRootViewController:previewController] autorelease];
[splitViewController setViewControllers:[NSArray arrayWithObjects:masterViewController, wrapperNavigationController, nil]];
干杯